Конвертация CSV таблицы в SQLite на python
Есть CSV таблица ≈ 1gb
Её надо преобразовать в базу данных SQLite. Попробовал следующим образом:
import csv, sqlite3
con = sqlite3.connect('filename.db')
cur = con.cursor()
# cur.execute("""CREATE TABLE tablename(
# phone INTEGER NOT NULL,
# uid INTEGER NOT NULL,
# mail TEXT,
# first_name TEXT,
# last_name TEXT,
# gender TEXT,
# date_registered TEXT,
# birthday TEXT,
# );""")
with open('BD.csv','r', encoding="utf8") as f:
dr = csv.DictReader(f, delimiter=",")
to_db = [(i['phone'], i['uid'], i['email'], i['first_name'], i['last_name'], i['gender'], i['date_registered'], i['birthday']) for i in dr]
cur.executemany("INSERT INTO BD (phone, uid, email, first_name, last_name, gender, date_registered, birthday) VALUES (?, ?, ?);", to_db)
con.commit()
con.close()
Вывод:
Traceback (most recent call last): File "d:\Convert_CSV_SQL.py", line 27, in to_db = [(i['phone'], i['uid'], i['email'], i['first_name'], i['last_name'], i['gender'], i['date_registered'], i['birthday']) for i in dr] File "d:\Convert_CSV_SQL.py", line 27, in to_db = [(i['phone'], i['uid'], i['email'], i['first_name'], i['last_name'], i['gender'], i['date_registered'], i['birthday']) for i in dr] KeyError: 'uid'
Целый день сижу и не получается это сделать.