我有一个代码,我无法插入数据库,我甚至需要插入空格或nil到数据库,如果在列表中找到: 请帮我将列表中的所有值插入数据库!
qw=[]
with open('qwe.txt','r') as file:
for line in file:
matches = []
for word in line.split():
if word in keywords:
matches.append(word)
if matches:
ab= ' '.join(matches)
qw.append(ab)
else:
a1= 'nil'
qw.append(a1)
print qw
for name in qw:
cursor.execute(
'''INSERT INTO Detail1 (Names)
VALUES (%s, %s)''',
(name))
但我得到的错误是:
>>>
['bike car', 'nil', 'car', 'car bike car', 'nil', 'bike']
Traceback (most recent call last):
File "C:\Python27\syram1.py", line 45, in <module>
(name))
File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 184, in execute
query = query % db.literal(args)
TypeError: not enough arguments for format string
>>>
请帮忙!答案将不胜感激!
答案 0 :(得分:2)
insert语句只提到一个列名,而你传递两个参数
'''INSERT INTO Detail1 (Names)
VALUES (%s, %s)'''
所以你需要试试这个:
'''INSERT INTO Detail1 (Names)
VALUES (%s)'''
或提及Detail1表的第二列的名称
'''INSERT INTO Detail1 (Names,SecondColumnName)
VALUES (%s, %s)'''
答案 1 :(得分:0)
你的格式字符串中有两次%s,这意味着格式字符串后面的“()”中应该有两个变量。