Pandas从MySQL中读取和保存数据

使用 Python 的 Pandas 库,可以像 Excel 一样方便快捷地进行数据处理。MySQL则是现在最流行和使用的关系数据库。为了方便对数据库的操作,Pandas 中内置了 read_sql 和 to_sql 函数,方便我们从数据库中读取和保存数据。

数据准备

为了避免大家导入数据的麻烦,演示直接 读取 MySQL 自带的 mysql 库中的 user 表,如下图所示。

安装 MySQL 驱动

要在本地链接 MySQL,需要安装一个 MySQL 的客户端驱动,下载地址:https://dev.mysql.com/downloads/connector/python/8.0.html

根据自己的操作系统和位数,选择对应的版本下载即可。

安装 MySQL 的 Python 包

如果可以 pip 联网安装,那么可以直接使用 以下语句进行安装:

pip install mysql-connector-python

如果安装失败,则可以从:https://www.lfd.uci.edu/~gohlke/pythonlibs/下载 whl 文件进行安装,安装命令如下所示:

pip installC:\Users\Administrator\Downloads\mysql_connector_python-2.0.4-py2.py3-none-any.whl

使用 read_sql 读取数据

read_sql 函数从数据库中读取数据,常用的参数是:

1、sql,我们从数据库中读取数据的SQL

2、con,使用 mysql 包创建好的链接,包含数据库的用户名密码等等

执行代码,即可得到所查询的数据,如下图所示:

是不是很简单?一行代码就可以解决了从数据库中读取文件的问题,接下来我们来看看,如何把数据框中的数据,保存到数据库中。

使用 to_sql 保存数据

为了实验,咱们先创建一个 MySQL 的名字为 test 的数据库,如下图所示:

Pandas 的最新版本,只支持保存到 sqlite 数据库。因此,要保存数据到 MySQL,咱们还需要安装多一个 Python 包 SQLAlchemy,直接使用 pip 命令进行安装即可:

pip install SQLAlchemy

或者到 https://www.lfd.uci.edu/~gohlke/pythonlibs/#sqlalchemy 下载 whl 文件,使用以下命令进行安装:

pip installC:\Users\Administrator\Downloads\SQLAlchemy-1.2.8-cp36-cp36m-win_amd64.whl

使用 to_sql 函数保存数据到数据库,常用参数有以下几个:

1、要保存的表名

2、数据库的链接,同上面读取数据的时候使用的链接

3、if_exists,可以选择为append,也就是表存在的话,往里面追加数据

执行代码,即可把数据保存到 MySQL 中,如下图所示:

可见,Pandas 为我们对数据库的操作,做了非常好的封装,我们直接调用read_sql,即可读取数据,调用 to_sql,即可保存数据,达到了一键式存储的目的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180626G0626H00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券