Python 与 Mysql 数据库交互

Python 与 Mysql 数据库交互

使用pymsql 将 Dataframe 数据写入到MySQL库,使用 itertuples 迭代器以 tuple 取出每一行的数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import pymysql
import time
time_start = time.time()
con = pymysql.connect(host='IP',port=3306,user='userName',password='Password',database='databaseName',charset='utf8mb4')
cur = con.cursor()
df = df.fillna('NULL')
data_list = []
#使用 itertuples 迭代器以 tuple 取出每一行的数据,拼接为list
for row in df.itertuples(index=False,name=None):
data_list.append(row)

sql = 'INSERT IGNORE INTO neZha_maoyan_comment(nickName,cityName,gender,content,score,userLevel,startTime) values(%s,%s,%s,%s,%s,%s,%s)'
cur.execute(sql,data_list)
#写入要提交数据(事务)否则数据不会保存
con.commit()
cur.close()
con.close()
print(time.time()-time_start)