使用pymysql将csv数据导入mysql的问题

时间:2019-03-02 08:17:05

标签: mysql python-3.x pymysql

我是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()

1 个答案:

答案 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/上建议的查询。我没有尝试过,但是应该可以。