欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于pandas利用sqlalchemy保存数据到数据库(to_sql)的实例讲解

程序员文章站 2022-03-08 23:12:40
当我们利用pandas处理完数据后,有时可能需要将处理好的数据保存到中,这时需要利用sqlalchemy。 sqlalchemy“采用简单的python语言,为高效和高性能的数据库访问设...

当我们利用pandas处理完数据后,有时可能需要将处理好的数据保存到中,这时需要利用sqlalchemy。

sqlalchemy“采用简单的python语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。

利用sqlalchemy,可以讲pandas类型的格式数据保存到数据库中,但是在使用过程中还是有很多坑的,下面简单介绍一下如何使用:

1:

import pandas as pd

from sqlalchemy import create_engine

导入模块中的create_engine,需要利用它来进行连接数据库

2:

conn = create_engine('mysql+mysqldb://root:123456@localhost:3306/w_analysis?charset=utf8')

创建连接,利用create_engine

3:

pd.io.sql.to_sql(df,table_name,con=conn,schema='w_analysis',if_exists='append')

利用pd的io中的sql的to_sql方法进行导入(记住不是pd的to_sql)

4:

conn.dispose()

关闭连接

create_engine参数说明:

(mysql+mysqldb://用户名:密码@localhost:端口/数据库名?编码)? ? 设置数据库的编码方式,可以防止latin字符不识别而报错

to_sql参数说明:

(数据,表名,con=连接键,schema='数据库名',if_exists='操作方式')? ? 操作方式有append、fail、replace

append:如果表存在,则将数据添加到这个表的后面

fail:如果表存在就不操作

replace:如果存在表,删了,重建

!!!这里提醒一下可能出现的错误:

modulenotfounderror: no module named 'mysqldb'请看这里

注:pd 1.9以后的版本,除了sqllite,均需要通过sqlalchemy来设置