Заполнение таблицы SQL данными CSV с использованием Python: KeyError: 'id' - PullRequest
0 голосов
/ 13 апреля 2020

В настоящее время я работаю над проектом, который требует обработки данных OSM (Udacity Course) и добавления его в набор данных SQLite, готовый для запросов.

В настоящее время я пытаюсь добавить файл «.csv». файл в существующую таблицу SQl со следующей функцией:

with open('crawley_nodes.csv','r', encoding = 'utf-8') as fin:
    dr = csv.DictReader(fin)
    to_db = [(i['id'], i['lat'], i['lon'], i['user'], i['uid'], i['version'], i['changeset'], i['timestamp']) for i in dr]
    cur.executemany("INSERT INTO nodes(id, lat, lon, user, uid, version, changeset, timestamp) VALUES (?,?,?,?,?,?,?,?);", to_db)

conn.commit()

Однако каждый раз, когда я пытаюсь его выполнить, выдается следующая ошибка:

KeyError: 'id'

Я сбит с толку относительно почему я получаю эту ошибку. Возможно, сколько я потратил на экран весь день.

Спасибо за любое направление / помощь.

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020

Я узнал, где была ошибка. Фактически, данные .csv, которые я подготовил для базы данных SQL, имели значение 'b' рядом с каждым значением. Вот почему он не смог найти ключи, которые я определил.

Чтобы исправить это, я изменил свой OSM для функций CSV, чтобы правильно создать CSV.

0 голосов
/ 13 апреля 2020

Является ли ваш индекс?

df.reset_index(drop=False) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...