私のCSVファイルをテーブルにインポートしようとしています。csvファイルをsqliteテーブルにインポートする
のtest.CSV
"a",1,1
"b",2,2
"c",3,3
エラー:
Traceback (most recent call last):
File "C:/Users/Sam/Desktop/big data/workspace/yelpdatabase.py", line 19, in <module>
to_db = [(i['letter'], i['num1'], i['num2']) for i in dr]
File "C:/Users/Sam/Desktop/big data/workspace/yelpdatabase.py", line 19, in <listcomp>
to_db = [(i['letter'], i['num1'], i['num2']) for i in dr]
KeyError: 'letter'
コード:
import csv
import sqlite3
#Create The Database
connection = sqlite3.connect('test.db')
#create cursor
cursor = connection.cursor()
#Create table
cursor.execute('DROP TABLE IF EXISTS testtable')
cursor.execute('CREATE TABLE testtable (letter text, num1 int, num2, int)')
#Load the CSV file into CSV reader
path = r"C:\Users\Sam\Desktop\big data\workspace\test.csv"
with open(path,'r') as fin: # `with` statement available in 2.5+
# csv.DictReader uses first line in file for column headings by default
dr = csv.DictReader(fin) # comma is default delimiter
to_db = [(i['letter'], i['num1'], i['num2']) for i in dr]
cursor.executemany("INSERT INTO t (letter, num1, num2) VALUES (?, ?, ?);", to_db)
#commit changes, and close the connection
connection.commit()
connection.close()
は編集:私は、アップロードを私は同様の手順はhereしかし、私はエラーを取得しています見つけ続きますtest.csvファイル
インポートしているCSVの先頭を追加してください。 – Javier