Pandas与数据库的交互(以SQLite为例)

在使用Python进行数据分析的时候,通常用的最多的是Pandas,但是部分数据存储在数据库中,如何更方便的与数据库做好交互,这里记录下来自己使用的一些经验。

1、使用sqlalchemy来连接你的数据库

Engine 翻译过来就是引擎的意思,汽车通过引擎来驱动,而 SQLAlchemy 是通过 Engine 来驱动,Engine 维护了一个连接池(Pool)对象和方言(Dialect)。方言简单而言就是你连的到底是 MySQL 还是 Oracle 或者 PostgreSQL 还是其它数据库。

连接示例:

参考连接:https://docs.sqlalchemy.org/en/13/core/engines.html#sqlalchemy.create_engine

可能存在的问题:当数据库涉及到密码时。有可能存在特殊字符,决绝方案是多密码先进行编码处理。

2、 将 DataFrame保存到数据库中

DataFrame自带to_sql方法,使用方法如下:

字段说明:

  • name:数据库表名称
  • con:数据库连接
  • schema:数据库模的schema,大部分连接的时候不需要
  • if_exists:可选:{‘fail’, ‘replace’, ‘append’}
  • index:是否将DataFrame的index列写入
  • index_label:index列的名称
  • chunksize:设置批量写入的条目数量
  • dtype:设置字段类型
  • method:插入方法,可不做设置

代码示例:

参考链接:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_sql.html

3、通过数据库读取数据库的数据

代码示例:

4、将数据库的数据转化为DataFrame

代码示例:

微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

分层时间记忆HTM学习笔记

分层时间记忆算法(Hierarchical Temporal Memory),全称HTM Cortical L

Expedia异常检测项目Adaptive Alerting

Adaptive Alerting(AA)是Expedia开源的异常检测项目,整个项目也是完整一套监控体系,包

格兰杰因果关系检验学习笔记

格兰杰因果关系检验简介 格兰杰因果关系检验(英语:Granger causality test)是一种假设检定

发表评论

电子邮件地址不会被公开。 必填项已用*标注