Pandas 数据库操作,Pandas
不仅支持本地文件的读写,同时支持对数据库的读取和写入操作。pandas.io.sql模块提供了独立于数据库,叫做sqlalchemy的统一接口,不管什么类型的数据库,Pandas主要是以sqlalchemy方式建立链接,支持Mysql、postgresql、Oracle、MS SQLServer、SQLite等主流数据库。
前面章节介绍了 Pandas 对文本文件的读写操作。在很多应用中,所使用的数据来自文本文件的很少,因为文本文件不是存储数据最有效的方式,数据往往存储于SQL
类关系数据库,作为补充,NoSQL 数据库近来也开始流行起来,从SQL数据库加载数据,将其转换为DataFrame对象很简单,Pandas提供了几个函数简化了该过程,后面章节会介绍到,本章主要介绍sqlalchemy包的安装和数据库的连接。
sqlalchemy包的安装
如果直接sqlalchemy
的安装时,会报错的,为什么呢?因为sqlalchemy
依赖了PyMySQL包。
(1)所以首先需要安装PyMySQL,使用如下指令
pip install PyMySQL
(2)接下来再安装sqlalchemy便会成功的,使用如下指令
pip install sqlalchemy
网络条件不好的状况,会报出time out
错误,如下所示:
提示安装成功,如下图所示:
数据库的连接
连接数据库使用create_engine()
函数,你可以用它配置驱动器所需的用户名、密码、端口和数据库实例等所有属性。下面是各种数据库的连接方法:
from sqlalchemy import create_engine
- ProstgreSQL
engine = create_engine('postgresql://scott:tiger@localhost:5432/mydatabase')
engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')
- Oracle
engine = create_engine(`oracle://scott:tiger@127.0.0.1:1521/sidname`)
- MSSQL
engine = create_engine(`mysql+pyodbc://mydsn`)
engine = create_engine(`sqlite:///foo.db`)
更多Pandas相关的知识,请参考:Pandas 基础教程,Pandas 数据操作。