用pymysql 把data frame 写入mysql
时间: 2023-12-22 11:02:36 浏览: 96
可以使用Python中的pandas库和pymysql库将DataFrame写入MySQL数据库中。具体步骤如下:
1. 导入pandas和pymysql库
```
import pandas as pd
import pymysql
```
2. 连接MySQL数据库
```
conn = pymysql.connect(host='localhost', user='root', password='password', db='database_name', charset='utf8mb4')
```
其中,`host`表示MySQL服务器的主机名或IP地址,`user`表示登录MySQL服务器的用户名,`password`表示登录MySQL服务器的密码,`db`表示要连接的数据库名,`charset`表示数据库的字符集。
3. 将DataFrame写入数据库
```
# 创建游标对象
cursor = conn.cursor()
# 构造插入数据的SQL语句
sql = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)"
# 遍历DataFrame中的每一行数据并插入到数据库中
for index, row in df.iterrows():
# 将DataFrame中的每一行数据转换为一个元组
data = (row['column1'], row['column2'], row['column3'])
# 执行SQL语句
cursor.execute(sql, data)
# 提交事务
conn.commit()
# 关闭游标和数据库连接
cursor.close()
conn.close()
```
其中,`table_name`表示要写入的表名,`column1`、`column2`、`column3`表示表中的列名,需要根据实际情况进行替换。在遍历DataFrame中的每一行数据时,需要将每一行数据转换为一个元组,然后执行插入数据的SQL语句。最后,需要提交事务并关闭游标和数据库连接。
注意:在写入数据库之前,需要确保DataFrame中的数据类型与数据库中的表结构相对应。如果数据类型不匹配,可能会出现写入失败或写入错误的情况。
阅读全文