当我们利用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(dataframe,'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来设置
|
|
来自: rcylbx > 《python_to_sql语句》