【发布时间】:2014-05-19 07:59:04
【问题描述】:
import MySQLdb
import csv
mydb = MySQLdb.connect(host='localhost',user='root',passwd='root', db='kabir')
cursor = mydb.cursor()
data = csv.reader(file('data.csv'))
#cursor.execute('create table actors(name varchar(20),age integer)')
for row in data:
cursor.execute('INSERT INTO actors(name,age) VALUES(%s %s)' ,row)
mydb.commit()
cursor.close()
【问题讨论】:
-
您是否尝试关闭数据库:
mydb.close()? -
@ChristianAichinger 虽然这是一个很好的收获,但这不是问题所在..请检查下面的答案。
-
回溯(最近一次调用最后):文件“load.py”,第 13 行,在
cursor.execute('INSERT INTO actor(name,age) VALUES(%s, %s )' ,row) 文件“/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py”,第 159 行,在执行查询 = 查询 % db.literal(args) 类型错误:格式字符串的参数不足 -
@user3505729 我认为 csv 文件中的第一行是列标题,如果“年龄”列不是整数,所以它会给你一个错误,它不能插入字符串到数据库中的整数列。能否请您粘贴 csv 文件?