gpt4 book ai didi

python - 将 csv 导入 MySQL 数据库时格式字符串参数不足

转载 作者:太空宇宙 更新时间:2023-11-03 18:42:35 25 4
gpt4 key购买 nike

Full Traceback:
File "./csvimportdb.py", line 12, in <module>
cursor.execute('''INSERT INTO newsletter_subscriber(id, name, email ) VALUES("%s", "%s", "%s")''', row)
File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 159, in execute
query = query % db.literal(args)
TypeError: not enough arguments for format string

我的代码:

#!/usr/bin/python

import csv
import MySQLdb

mydb = MySQLdb.connect(host='localhost', user='english', passwd='english', db='english_mez')
cursor = mydb.cursor()

csv_data = csv.reader(file('final.csv'))
for row in csv_data:

cursor.execute('INSERT INTO newsletter_subscriber(id, name, email )' 'VALUES("%s", "%s", "%s")', row[0], row[1], row[2])
#close the connection to the database.
mydb.commit()
cursor.close()
print "Done"

我需要传递行,行,行才能使其正确,但无法做到这一点。如何修复?

编辑:打印行给出:

['6630\tCarmen Rocche\trocchecarmen@gmail.com\t\t\t\t\t']
['6631\tSuhasini\tkkalva14@hotmail.com\t\t\t\t\t']
['6632\tAmarjeet \tsweetylamba@gmail.com\t\t\t\t\t']
['6633\tFazali Hadi\tshewasb@yahoo.com\t\t\t\t\t']
['6634\tVishaka Samarakone\tshirashi.vishaka@gmail.com\t\t\t\t\t']
['6635\tLoemongga\tloemongga@yahoo.com\t\t\t\t\t']

最佳答案

for row in csv_data:
data=row[0].split('\t')
if len(data) < 4: continue
query="""insert into newsletter_subscriber (id, name, email) values
(%d, '%s', '%s')""" %(int(data[0]), data[1], data[2])
cursor.execute(query)

关于python - 将 csv 导入 MySQL 数据库时格式字符串参数不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20210433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com