您好我正在尝试使用python tkinter将csv文件导入sqlite3数据库 . 我使用askopenfilename对话框打开文件,并将文件传递给readFile函数 .
def csvFile(self):
f1 = askopenfilename()
self.readFile(f1)
def readFile(self, filename):
conn = sqlite3.connect('Unicommerce.db')
cur = conn.cursor()
cur.execute("""CREATE TABLE IF NOT EXISTS unicom(products varchar,channel varchar,regulatory_forms varchar,shipment varchar)""")
filename.encode('utf-8')
print "test1"
reader = csv.reader(filename)
for field in reader:
cur.execute("INSERT INTO unicom VALUES (?,?,?,?);", field)
conn.commit()
conn.close()
我收到了这个错误 .
cur.execute("INSERT INTO unicom VALUES (?,?,?,?);", field)
ProgrammingError: Incorrect number of bindings supplied. The current statement uses 4, and there are 1 supplied.
编辑:链接到输入文件Input File