SQLAlchemy AttributeError:“module”对象没有属性“PandasSQLAlchemy”

2024-06-16 11:43:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将熊猫数据帧写入Postgres数据库:

from sqlalchemy import create_engine, MetaData
engine = create_engine(r'postgresql://user:password@localhost:5432/db')
meta = MetaData(engine, schema='data_quality')
meta.reflect(engine, schema='data_quality')
pdsql = pd.io.sql.PandasSQLAlchemy(engine, meta=meta)
pdsql.to_sql(dataframe, table_name)

它工作得很好,但是现在SQLAlchemy在第5行抛出了以下错误:

^{pr2}$

我不确定这是否相关,但熊猫在同一时间崩溃了——这与google api python客户端问题一模一样:

Could not Import Pandas: TypeError

我昨天安装了googleapi python客户端并卸载它,修复了Pandas的问题,但是SQLAlchemy仍然不起作用。在


Tags: 数据数据库客户端pandassqldatasqlalchemyschema
1条回答
网友
1楼 · 发布于 2024-06-16 11:43:37

我想你用的是熊猫0.15。PandasSQLAlchemy还没有真正公开,在pandas 0.15中被重命名为SQLDatabase。因此,如果在代码中替换它,它应该可以工作(所以pdsql = pd.io.sql.SQLDatabase(engine, meta=meta))。在

但是,从pandas 0.15开始,read_sql_tableto_sql函数中也有模式支持,因此不需要手动生成MetaData和{}对象。相反,应该这样做:

dataframe.to_sql(table_name, engine, schema='data_quality')

请参阅0.15发行说明:http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#improvements-in-the-sql-io-module

相关问题 更多 >