将pandas.dataframe存入mysql数据库

一、准备工作

(1)安装模块:

sqlalchemy
pymysql
pandas
numpy

(2)安装mysql 8.0

CentOS7下安装mysql8.0

二、将DataFrame导入MySQL表格

(1)使用sqlalchemy创建SQLAlchemy.engine

from sqlalchemy import create_engine
engine=create_engine("mysql+pymysql://root:我的密码@localhost:3306/test1")

(2)利用DataFrame.to_sql函数将数据导入mysql数据库

import pandas as pd
import numpy as np
np.random.seed(24)
m=np.random.randint(0,100,size=(100,5))
df=pd.DataFrame(m,columns=['departmen','date','proj_class','support_mode','content'])
#sql_db=pd.read_sql('test',con=engine)
df.to_sql(name='test_df',con=engine)

查看结果:

mysql> show tables;
+-----------------+
| Tables_in_test1 |
+-----------------+
| test_df         |
+-----------------+
1 row in set (0.00 sec)

mysql> select * from test_df;
+-----------+------+------------+--------------+---------+
| departmen | date | proj_class | support_mode | content |
+-----------+------+------------+--------------+---------+
|        34 |    3 |         64 |           87 |      17 |
|        17 |    1 |         79 |            4 |      99 |
|        82 |   11 |         99 |           15 |      73 |
|        18 |    7 |         25 |           35 |      95 |
|        28 |    0 |         12 |           95 |      33 |
|         1 |   60 |         55 |           70 |      97 |
|        81 |    6 |         46 |           65 |      47 |
|        89 |   74 |         35 |           64 |      27 |
|        97 |   33 |          3 |            4 |      65 |
...
|        55 |   68 |         23 |           84 |      24 |
|        10 |   89 |         21 |           72 |       1 |
|        38 |   78 |         55 |           76 |      22 |
|         4 |   47 |         29 |           47 |      19 |
|        54 |   78 |         71 |           17 |      80 |
|        81 |   56 |         78 |           80 |       8 |
+-----------+------+------------+--------------+---------+
100 rows in set (0.00 sec)

成功创建新表,并写入数据。

参考文献

ModuleNotFoundError: No module named ‘MySQLdb’
Python操作MySQL数据库的两种方式pymysql和pandas

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Little_Yuu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值