2016-11-20 56 views
0

我希望使用Python将我的.csv文件导入MySQL中的表'testcsv',但我无法这样做,因为我一直在获取以下错误:TypeError:在使用Python将CSV导入到MySQL时格式化字符串的参数不足

Traceback (most recent call last): 
    File "<pyshell#9>", line 2, in <module> 
    cursor.execute(query,r) 
    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 

我的代码如下所示:

import csv 
import MySQLdb 

mydb = MySQLdb.connect(host='127.0.0.1', 
    port=3306, 
    user='root', 
    passwd='tulip', 
    db='frompython') 
cursor = mydb.cursor() 

csv_data = csv.reader(file('C:\Users\Tulip\Desktop\New_Sheet.csv')) 

row_count = sum(1 for row in csv_data) 

query = """INSERT INTO testcsv (number, name, marks) VALUES (%s, %s, %s)""" 

for r in range(1, row_count): 
    cursor.execute(query,r) 

我试着给这里的相关问题每一个可能的答案,但他们没有为我工作。请帮忙!

回答

1
for r in range(1, row_count): 

只是迭代数字,即在第一次迭代r = 1。删除定义row_count的行并获取实际行:

for r in csv_data: 
相关问题