在python中利用pymysql将dataframe数据插入数据库中(不改变表结构)
1.连接数据库
利用pymysql安装包进行数据库连接。
import pymysql
connect = pymysql.connect(user = 'root', password = '123456', host = 'xxx.xx.x.xx', post = 3306)
con = connect.cursor()
con.execute('数据库名称---test')
2.数据表格式整理
-
根据已有的数据库表结构对dataframe数据表进行数据类型修改。
-
从已知的数据表中,可以知道每个字段的数据类型,将dataframe中的数据列类型进行修改
temp = {'a':[1,2,3,4,5,6],'b':['Alice','Bob','Cindy','Eric','Helen','Grace '],'c':[90,89,99,78,97,93],'d':[89,94,80,94,94,90]}
data = pd.DataFrame(data)
[外链图片转存失败(img-VgmoIhU9-1564471209785)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1564454005420.png)]
[外链图片转存失败(img-9DuNySBF-1564471209788)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1564453972785.png)]
data['a'] = data['a'].astype(str)
data['b'] = data['b'].astype(str)
3.插入数据
将数据表依此插入数据库中。
query = """insert into test (a, b, c, d) values (%s, %s, %s, %s)"""
for i in range(len(data)):
a = data['a'].iloc[i]
b = data['b'].iloc[i]
c = data['c'].iloc[i]
d = data['d'].iloc[i]
values = (a, b, c, d)#在从也可以进行插入数据格式修改
con.execute(query, values)
connect.commit() #如果没有这个的话,插入不会成功,数据库不会显示
con.close()
connect.close()
话,插入不会成功,数据库不会显示
con.close()
connect.close()
本文介绍了如何在Python中利用pymysql库,将DataFrame数据无改变地插入到MySQL数据库中。首先,通过pymysql建立数据库连接;接着,根据已有数据库表结构调整DataFrame的数据类型以匹配;最后,执行插入操作,确保数据完整无损地导入到数据库中。注意在操作完成后关闭数据库连接。
&spm=1001.2101.3001.5002&articleId=97786666&d=1&t=3&u=aea6701850204fbaaa8084fc122cff46)
1526

被折叠的 条评论
为什么被折叠?



