繁体   English   中英

SQLAlchemy AttributeError: 'module' 对象没有属性 'PandasSQLAlchemy'

[英]SQLAlchemy AttributeError: 'module' object has no attribute 'PandasSQLAlchemy'

我正在将 Pandas Dataframe 写入 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 行抛出以下错误:

AttributeError: 'module' object has no attribute 'PandasSQLAlchemy'

我不确定它是否相关,但 Pandas 同时坏了 - 就像在这个 google-api-python-client 问题中一样:

无法导入 Pandas:类型错误

我昨天安装了 google-api-python-client 并卸载它解决了 Pandas 的问题,但 SQLAlchemy 仍然不起作用。

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

但是,从pandas 0.15开始, read_sql_tableto_sql函数中也有schema支持,所以应该不需要手动制作MetaDataSQLDatabase对象。 相反,这应该这样做:

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

我最近遇到了这个错误,它解决了我删除与 .py 文件位于同一目录中的 .pyc 文件的问题。 这些文件 (.pyc) 包含以前的版本信息和时间、日期。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM