![](/img/trans.png)
[英]AttributeError: module 'sqlalchemy' has no attribute 'NullType'
[英]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 问题中一样:
我昨天安装了 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_table
和to_sql
函数中也有schema支持,所以应该不需要手动制作MetaData
和SQLDatabase
对象。 相反,这应该这样做:
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.