Python 提供的绑定数和值数错误
我正在尝试使用python中的win32com模块将excel工作表转换为SQLite3DB。我的excel工作表有6列,因此python代码的一部分是:Python 提供的绑定数和值数错误,python,sqlite,win32com,Python,Sqlite,Win32com,我正在尝试使用python中的win32com模块将excel工作表转换为SQLite3DB。我的excel工作表有6列,因此python代码的一部分是: for row in exceldata: c.execute('INSERT INTO exceltable1 VALUES(?,?,?,?,?,?)',row) conn.commit() 但是python给了我以下错误: c.execute('INSERT INTO exceltable VALUES(?,?,?,?,?,
for row in exceldata:
c.execute('INSERT INTO exceltable1 VALUES(?,?,?,?,?,?)',row)
conn.commit()
但是python给了我以下错误:
c.execute('INSERT INTO exceltable VALUES(?,?,?,?,?,?)',row)
ProgrammingError: Incorrect number of bindings supplied. The current statement uses 6, and there are 5 supplied.
如果我尝试删除一个问号并再次运行,则错误现在变为:
c.execute('INSERT INTO exceltable1 VALUES(?,?,?,?,?)',row)
OperationalError: table exceltable1 has 6 columns but 5 values were supplied
有人能告诉我这里发生了什么,如果有什么解决办法……Thx.首先,确保
行的值是多少,以及它有多少项:
print row, len(row)
然后尝试使用完整的insert sql语句:
insert into table (col1, col2, col3, ...) values (?, ?,? ...)
看看会发生什么。这应该可以解决您的问题,或者至少让您了解发生了什么。您告诉它您有6列(参数),但您只给了它1个参数。这就是为什么它告诉你你缺了5列 非常感谢,这很有帮助。