在数据库中输入值时出现错误:
values = []
for dictionary in dictionaries:
for element in keys:
if element in cols:
curs.execute('INSERT INTO Root_table(?,?,?,?,?,?,?,?,?,?,?,?,\
?,?,?,?,?,?,?,?,?,?,?,?,?)', dictionary[element])
#values.append(dictionary[element])
else:
curs.execute('INSERT INTO Root_table(?,?,?,?,?,?,?,?,?,?,?,?,\
?,?,?,?,?,?,?,?,?,?,?,?,?)', 'NA')
#values.append('NA')
#curs.execute('INSERT INTO Root_table(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', tuple(values))
Error: OperationalError: near "?": syntax error
基本上,我遍历每个字典访问某些值并尝试将它们输入到数据库中。我检查字典的“键”是否在另一个列表中,如果是,则向数据库添加一些值,否则添加“NA”。
我提供了如何在数据库中定义表:
curs.execute("CREATE TABLE Root_table(\
Id INTEGER PRIMARY KEY, 'a' TEXT, 'b' TEXT,\
'c' TEXT, 'd' TEXT, 'e' TEXT, 'f' TEXT, 'g' TEXT, 'h' TEXT,\
'i' TEXT, 'j' TEXT,'k' TEXT, 'l' TEXT, 'm' TEXT, 'n' TEXT,\
'o' TEXT, 'p' TEXT, 'q' TEXT, 'r' TEXT, 's' TEXT, 't' TEXT,\
'u' TEXT, 'v' TEXT, 'w' TEXT, 'x' TEXT, 'y' TEXT, 'z' TEXT)")
问号总数?
为curs.execute('INSERT INTO Root_table(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', dictionary[element])
25,而表中有 26 列(第一个是 ID 元素,它应该根据行数自动递增)。