数据分析从零开始实战,Python、Pandas 与各类数据库
![数据分析从零开始实战,Python、Pandas与各类数据库](https://static001.geekbang.org/infoq/9d/9ddf6b7d4fbca77770518e32e5b4000d.jpeg)
零、写在前面
本系列学习笔记参考书籍: 《数据分析实战》托马兹·卓巴斯,会将自己学习本书的笔记分享给大家,同样开成一个系列『数据分析从零开始实战』。
点击查看第一篇文章:# 数据分析从零开始实战,Pandas读写CSV数据
点击查看第一篇文章:# 数据分析从零开始实战,Pandas读写TSV/Json数据
点击查看第三篇文章:# 数据分析从零开始实战,Pandas读写Excel/XML数据
点击查看第四篇文章:# 数据分析从零开始实战,Pandas读取HTML页面+数据处理解析
前面四篇文章讲了数据分析虚拟环境创建和 pandas 读写 CSV、TSV、JSON、Excel、XML 格式的数据,HTML 页面读取,今天我们继续探索 pPython、Pandas 操作各类数据库。
一、基本知识概要
1.SQLAlchemy 模块安装
2.数据库 PostgreSQL 下载安装
3.PostgreSQL 基本介绍使用
4.Pandas+SQLAlchemy 将数据导入 PostgreSQL
5.Python 与各种数据库的交互代码实现
二、开始动手动脑
1、SQLAlchemy 模块安装
安装SQLAlchemy
模块(下面操作都是在虚拟环境下):方法一:直接 pip 安装(最简单,安装慢,可能出错)
方法二:轮子(wheel)安装(比较简单,安装速度还可以,基本不出错)点击这里下载SQLAlchemy 的.whl
文件,然后移动到你的开发环境目录下。
方法三:豆瓣源安装(比较简单,安装速度快,方便,推荐)
![](https://static001.geekbang.org/infoq/9e/9eac20f79f4d0301ae7cb972b3cb171f.png)
2、数据库 PostgreSQL 下载安装
(1) 下载地址:https://www.enterprisedb.com/software-downloads-postgres
![](https://static001.geekbang.org/infoq/55/556bcfb0b7a9cda2ec8f006f796910f9.png)
(2) 下载完成后,点击安装文件,基本上就是 Next。
![](https://static001.geekbang.org/infoq/f7/f7fa89648f59cf68b26882740991ce8c.png)
First ,安装目录,建议自己选择,不要安装在 C 盘。
![](https://static001.geekbang.org/infoq/df/dfdaa204c62b66646df8f7afb63d9e16.png)
Second ,密码,可以设置简单点,毕竟只是用来自己学习。
![](https://static001.geekbang.org/infoq/71/71a3430b621b68bb82ab9fdd6c097e9a.png)
Third ,端口号,建议不要改,就用 5432,改了容易和其他端口冲突,到时候自己又不知道怎么解决,麻烦。
![](https://static001.geekbang.org/infoq/80/803f82c5e426bd3f1abfc7b4244fb3ce.png)
其他没有说到的就默认设置,Next,Next,Next~安装过程一般 10 分钟左右,不要急。
Finally ,安装完成后,取消图上的选项框,图上的意思是在后台启动 Stack Builder(堆栈生成器),没有必要。
![](https://static001.geekbang.org/infoq/2d/2da4e942070c071247b103fa3fa719c1.png)
最后推荐几个相关学习网站
Postgre 社区:https://www.postgresql.org/community/
Postgre 官方文档: https://www.postgresql.org/docs/
易百 Postgre 学习教程:https://www.yiibai.com/postgresql
3、PostgreSQL 基本介绍使用
(1) PostgreSQL 特点
![](https://static001.geekbang.org/infoq/de/def2cf0360ebd15d4cf4184cc470f946.png)
![](https://static001.geekbang.org/infoq/a3/a3ed37dc697e8d075f3c1a4163c1a6bf.png)
以上内容截取自 易百 Postgre 学习教程。
(2) 利用 PostgreSQL 创建一个数据库
a .打开pgADmin4
,发现这个图形化操作界面是一个 Web 端的,先会要求输入密码,就是安装时候设置的密码。
点击Servers
->PostgreSQL 11
->Databases
->右键->Create
->Database
。
![](https://static001.geekbang.org/infoq/72/720027d9301e59d5bfead8b761b15004.png)
b .输入数据库名称,其他默认,注释自己随便写,我写的first database
,表示我的第一个数据库。
![](https://static001.geekbang.org/infoq/a2/a232c25659aba3ebe4e2a390f4a71712.png)
我们还可以看一下数据库创建的语句,点击弹框中的SQL
即可。
![](https://static001.geekbang.org/infoq/2e/2ed1a438f7e7bcd8eef6123ec09fef84.png)
4、Pandas+SQLAlchemy 将数据导入 Postgre
(1) Python 操作代码
(2) 代码解析
sqlalchemy 的 create_engine 函数,创建一个数据库连接,参数为一个字符串,字符串的格式是:<database_type>://<user_name>:<password>@<server>:<port>/<database_name>
数据库类型://数据库用户名:数据库密码@服务器IP(如:127.0.0.1)或者服务器的名称(如:localhost):端口号/数据库名称
其中<database_type>
可以是:postgresql,mysql 等。
pandas 的 to_sql 函数,将数据(csv_read 中的)直接存入 postgresql,第一个参数指定了存储到数据库后的表名,第二个参数指定了数据库引擎,第三个参数表示,如果表real_estate
已经存在,则替换掉。
(3) 运行结果
![](https://static001.geekbang.org/infoq/18/187e84acf3405c5830072c52752d7e71.png)
此外,pandas
库还提供了数据库查询操作函数read_sql_query
,只需传入查询语句和数据库连接引擎即可,源码注释为Read SQL query into a DataFrame.
,意思是:把数据库查询的内容变成一个DataFrame
对象返回。
![](https://static001.geekbang.org/infoq/aa/aabfe9413822397423116325f4afc036.png)
5、Python 与各个数据库的交互代码
a . Python 与 MySql
b . Python 与 MongoDB
c . Python 与 Sqlite
三、送你的话
坚持 and 努力 : 终有所获。
思想很复杂,
实现很有趣,
只要不放弃,
终有成名日。
—《老表打油诗》
下期见,我是爱猫爱技术的老表,如果觉得本文对你学习有所帮助,欢迎点赞、评论、关注我!
版权声明: 本文为 InfoQ 作者【老表】的原创文章。
原文链接:【http://xie.infoq.cn/article/6b2ccc3bb3cf9fa903cf2c13c】。文章转载请联系作者。
评论