Pandas连接Mysql数据库

目的

在做数据分析时,一般需要从数据库中读取数据,然后再交给算法进行分析,最后将结果保存。为了简化分析的过程,我一般会将数据保存在Mysql数据库中,使用SQL进行初步处理、使用MySQL保存中间结果,可以大大的简化数据的维护负担。

本文关注Pandas与MySQL的连接部分

1.安装驱动

我的环境是Win10,Python35,Pandas0.20。安装的MySQL驱动位pymysql。

pip install sqlalchemy
pip install pymysql

2.创建连接引擎

import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://ledao:ledao123@localhost/pandas_learn')

如果想要使用不同的数据库,如PG,参考sqlalchemy官网,里面有详细的介绍。
3.与MySQL交互
第一种方式:

conn = engine.connect()
data = pd.read_sql_table('data', conn)
data

第二种方式,使用上下文管理器

​with engine.connect() as conn, conn.begin():
    data = pd.read_sql_table('data', conn)
data

到此,我们成功的将MySQL中的表data中的内容读取到DataFrame data中。
上下文管理器会自动关闭连接。

posted @ 2021-07-31 23:19  ledao  阅读(689)  评论(0编辑  收藏  举报