使用python脚本上传大数据集CSV文件到MySQL
"""
Created on Thu Jun 7 14:54:14 2018
@author: YFX
"""
import datetime
start = datetime.datetime.now()
import csv
import pymysql
import pandas as pd
s=pd.DataFrame(pd.read_csv("D:\\yourFIle.csv", sep=';') )
s=s.iloc[:,[0,1,2,3]]
s = s.astype(str)
file_name1="d:\\newData_0609_1748.csv"
s.to_csv(file_name1, encoding= 'utf8')
newData=s
mydb = pymysql.connect(host='localhost',
user='root',
passwd='数据库密码',
db='test',charset="utf8")
columnNames0=["idx"]+list(newData)
cursor = mydb.cursor()
table_name = 'test0609_2204_questOption'
query = "CREATE TABLE IF NOT EXISTS "+table_name+" ("+" VARCHAR(250),".join(columnNames0) + " VARCHAR(250))"
print("Query is:" ,query)
cursor.execute(query)
f = open("d:\\newData_0609_1748.csv",'r',encoding="utf8")
h=0
columnNames1=columnNames0
for row in csv_data:
h=h+1
print(h)
cursor.execute('INSERT INTO '+table_name+" ("+", ".join(columnNames1) + ")"+ ' VALUES('+'%s,'*(len(columnNames1)-1) +'%s)', row)
mydb.commit()
cursor.close()
print("Done")
end = datetime.datetime.now()
print (end-start)