我正在尝试使用python中的win32com模块将excel表转换为sqlite3db。我的excel表有6列,因此python代码的一部分是:
for row in exceldata:
c.execute('INSERT INTO exceltable1 VALUES(?,?,?,?,?,?)',row)
conn.commit()
但是python给出了以下错误:
^{pr2}$如果我尝试删除一个问号并再次运行它,错误现在变成:
c.execute('INSERT INTO exceltable1 VALUES(?,?,?,?,?)',row)
OperationalError: table exceltable1 has 6 columns but 5 values were supplied
有谁能给我解释一下这里发生了什么事,是否有任何解决办法…
谢谢。在
首先,确定
row
的值,以及它有多少项:然后尝试使用完整的insert sql语句:
^{pr2}$看看会发生什么。这应该能解决你的问题,或者至少让你明白发生了什么。在
你告诉它你有6列(参数),但你只给了它1个参数。这就是为什么它告诉你你少了5列。在
相关问题 更多 >
编程相关推荐