# -*- coding: utf-8 -*-
#*********************************************************************
# Name: LoadFlightDelay.py
# Created: 5/12/2016
# Modified: 5/12/2016
# Created By: Peter McCutcheon
#
#---------------------------------------------------------------------
# Description:
#
# This Python script reads a CSV file with flight delay information.
# and using sQL loads a table with the data.
#
#**********************************************************************
import csv
import sqlite3
#
# Connect to the FlightData database and create a cursor for SQL operations.
#
conn = sqlite3.connect('flightdata.db')
curs = conn.cursor()
#
# Open the CSV data file from DATA.GOV, read the data into a list,
# Create an SQL insert and insert the read date into the AirportSeqID
# table.
#
i = 0
newTime = ''
with open('c:/userfiles/peter/webdev/pythonfiles/FlightDelays2.csv','rt') as fin:
cin = csv.reader(fin)
insStr = 'INSERT INTO FlightDelay (SeqNumber, \
FlightDate, \
UniqueCarrier, \
AirLineID, \
Carrier, \
TailNum, \
FlightNumber, \
OriginAirport, \
OriginAirportSeq, \
OriginCityMarketID, \
Origin, \
OriginCityNm, \
OriginStateAbr, \
OriginStateNm, \
DestAirport, \
DestAirportSeq, \
DestCityMarketID, \
Dest, \
DestCityNM, \
DestStateAbr, \
DestStateNM, \
DepartTime, \
DepartDelay, \
TaxiOutTime, \
WheelsOff, \
WheelsOn, \
TaxiInTime, \
AirTime) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);'
for row in cin:
row.pop()
row.insert(0,i)
print(row)
tmpTime = row[21]
x = len(row[21])
if x == 0:
newTime = '00:00'
elif x == 2:
newTime = '00:' + tmpTime
elif x == 3:
newTime = '0' + tmpTime[0] + ':' + tmpTime[1:]
elif x == 4:
newTime = tmpTime[:2] + ':' + tmpTime[2:]
else:
print("Incoming time data error")
row[21] = newTime
try:
curs.execute(insStr, (row))
conn.commit()
except Exception as er:
print("Sqlite Error " + er.message)
i = i + 1
curs.close()
conn.close()