41 lines
2.2 KiB
Python
41 lines
2.2 KiB
Python
import pymonetdb
|
|
import time
|
|
|
|
#Creation_table
|
|
createAirline = """CREATE TABLE airlines("IATA_CODE" VARCHAR(2) NOT NULL PRIMARY KEY UNIQUE, "AIRLINE" VARCHAR(99) NOT NULL);"""
|
|
createAirports = """CREATE TABLE airports("IATA_CODE" VARCHAR(3) NOT NULL PRIMARY KEY UNIQUE, "AIRPORT" VARCHAR(100), "CITY" VARCHAR(40), "STATE" VARCHAR(2), "COUNTRY" VARCHAR(40), "LATITUDE" REAL, "LONGITUDE" REAL);"""
|
|
createFlights = """CREATE TABLE flights("YEAR" INT, "MONTH" INT, "DAY" INT, "DAY_OF_WEEK" INT, "AIRLINE" VARCHAR(2), "FLIGHT_NUMBER" INT,
|
|
"TAIL_NUMBER" VARCHAR(6), "ORIGIN_AIRPORT" VARCHAR(5), "DESTINATION_AIRPORT" VARCHAR(5), "SCHEDULED_DEPARTURE" INT, "DEPARTURE_TIME" INT,
|
|
"DEPARTURE_DELAY" INT, "TAXI_OUT" INT, "WHEELS_OFF" INT, "SCHEDULED_TIME" INT, "ELAPSED_TIME" INT, "AIR_TIME" INT, "DISTANCE" INT,
|
|
"WHEELS_ON" INT, "TAXI_IN" INT, "SCHEDULED_ARRIVAL" INT, "ARRIVAL_TIME" INT, "ARRIVAL_DELAY" INT, "DIVERTED" INT, "CANCELLED" INT,
|
|
"CANCELLATION_REASON" VARCHAR(1), "AIR_SYSTEM_DELAY" INT, "SECURITY_DELAY" INT, "AIRLINE_DELAY" INT, "LATE_AIRCRAFT_DELAY" INT, "WEATHER_DELAY" INT);"""
|
|
|
|
#Inserer_data
|
|
peuplementAirlines = """COPY INTO airlines FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airlines.csv' USING DELIMITERS ',', E'\n', '\"';"""
|
|
peuplementAirports = """COPY INTO airports FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airports.csv' USING DELIMITERS ',', E'\n', '"' NULL AS '';"""
|
|
peuplementFlights = """COPY INTO flights FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\flights.csv' USING DELIMITERS ',', E'\n', '"' NULL AS '';"""
|
|
|
|
|
|
def connect_monetdb():
|
|
connection = pymonetdb.connect(username="monetdb", password="monetdb", hostname="localhost", database="demo")
|
|
# create a cursor
|
|
cursor = connection.cursor()
|
|
return connection, cursor
|
|
|
|
def create_table_monetdb(cursor):
|
|
cursor.execute(createAirline)
|
|
cursor.execute(createAirports)
|
|
cursor.execute(createFlights)
|
|
|
|
def create_data_monetdb(cursor):
|
|
cursor.execute(peuplementAirlines)
|
|
cursor.execute(peuplementFlights)
|
|
cursor.execute(peuplementAirports)
|
|
|
|
def requete_monetdb(cursor,str):
|
|
cursor.execute(str)
|
|
|
|
def disconnect_monetdb(connection,cursor):
|
|
cursor.close()
|
|
connection.close()
|