KeyError при импорте CSV в SQLite с использованием Python 3 - PullRequest
0 голосов
/ 11 марта 2020

Я очень (очень) новичок в python и вообще пишу код и пытаюсь импортировать GTFS (.txt) в базу данных SQLITE, используя python. Я продолжаю получать KeyError в поле «trip_id», но код работает хорошо, когда я использую другие столбцы таблицы (stop_times, в данном случае). Я думаю, что понимаю, как обращаться с KeyError, но я просто не понимаю, почему он не хочет импортировать столбец, как это определено в словаре ... Вот мой код ниже:

import csv, sqlite3

con = sqlite3.connect("GTFS.db")
cur = con.cursor()
cur.execute("CREATE TABLE stop_times (stop_id INTEGER, trip_id TEXT);")

with open('stop_times.txt','r',encoding='utf-8') as dic:
    dr = csv.DictReader(dic)
    db_sqlite = [(i['stop_id'], i['trip_id']) for i in dr]

cur.executemany("INSERT INTO stop_times (stop_id, trip_id) VALUES (?, ?);", db_sqlite)

con.commit()
con.close()

Вот обзор таблицы stop_times, если вы не знакомы с форматом GTFS. Спасибо за вашу помощь!

trip_id,arrival_time,departure_time,stop_id,stop_sequence,stop_headsign,pickup_type,drop_off_type,shape_dist_traveled,timepoint
1_1_R_DI_1601_06_45,06:45:00,06:45:00,4416,0,Windsor,0,1,0,1
1_1_R_DI_1601_06_45,06:46:07,06:46:07,3685,551,Windsor,0,0,551,0
1_1_R_DI_1601_06_45,06:47:05,06:47:05,1015,1022,Windsor,0,0,1022,0
1_1_R_DI_1601_06_45,06:47:34,06:47:34,1016,1263,Windsor,0,0,1263,0
1_1_R_DI_1601_06_45,06:47:56,06:47:56,1017,1443,Windsor,0,0,1443,0
1_1_R_DI_1601_06_45,06:48:36,06:48:36,1018,1771,Windsor,0,0,1771,0
1_1_R_DI_1601_06_45,06:49:00,06:49:00,1019,1961,Windsor,0,0,1961,1
...