公司中有时候我们的需求是操作mysql数据库中的数据,如果我们能用pandas直接操作mysql的话,就比较方便了
因此在这里给大家分享一下,pandas对mysql数据库的读写操作:
pandas读取mysql数据库:
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
|
# 导入必要模块
import pandas as pd
from sqlalchemy import create_engine
# 初始化数据库连接,使用pymysql模块
# MySQL的用户:root, 密码:147369, 端口:3306,数据库:mydb
engine = create_engine( 'mysql+pymysql://root:mysql@localhost:3306/pandas' )
# 查询语句,选出employee表中的所有数据
sql = '''
select * from mydf;
'''
# read_sql_query的两个参数: sql语句, 数据库连接
df = pd.read_sql_query(sql, engine)
# 输出employee表的查询结果
print (df)
|
pandas写入数据到mysql:
[Python] 纯文本查看 复制代码
1
2
3
4
5
6
7
|
# 新建pandas中的DataFrame, 只有id,num两列
df = pd.DataFrame({ 'id' :[ 1 , 2 , 3 , 4 ], 'num' :[ 12 , 34 , 56 , 89 ]})
# 将新建的DataFrame储存为MySQL中的数据表,不储存index列
df.to_sql( 'mydf' , engine, index = False )
print ( 'Read from and write to Mysql table successfully!' )
|
pandas读取csv数据到mysql中:
[Python] 纯文本查看 复制代码
1
2
3
4
|
# 读取本地CSV文件
df = pd.read_csv( "lianjia.csv" , sep = ',' )
# # 将新建的DataFrame储存为MySQL中的数据表,不储存index列
df.to_sql( 'mydata' , engine, index = False )
|