我是sql和python的新手,我目前正在一个项目中,使用pymysql将csv数据导入mysql。 sql中的表名称是pythontable。 csv文件有5列,其中包含cusip,permno,permco,issuno,hexcd及其对应的值。 但是,我的代码无法正常工作。请帮忙。
import csv
import pymysql
mydb = pymysql.connect( host = 'ip' , user ='user' , passwd = "pw" , db = "db")
cursor = mydb.cursor()
csv_data = csv.reader('data.csv')
for row in csv_data:
cursor.execute('INSERT INTO pythontable(cusip, permno, permco, issuno, hexcd)' 'VALUES(%s, %s, %s, %s, %s)', row)
mydb.commit()
cursor.close()
答案 0 :(得分:1)
您应确保MySQL表和CSV文件中的列和列中的数据类型匹配。
您可以按以下方式执行查询:
cursor.execute('INSERT INTO pythontable VALUES(%s, %s, %s, %s, %s)', row)
您也可以查看在http://www.mysqltutorial.org/import-csv-file-mysql-table/上建议的查询。我没有尝试过,但是应该可以。