1 回答
TA贡献1789条经验 获得超8个赞
从查看this SO post和pandas docs来看,问题似乎是DataFrame.to_sql旨在与SQLAlchemy一起使用。你安装了 SQLAlchemy 吗?如果是这样,也许尝试传入 SQLAlchemy 引擎而不是您的 pyodbc 连接。
from sqlalchemy import create_engine
# Create your engine.
engine = create_engine('mssql+pyodbc://user:password@server/database')
# Use the engine instead of the pyodbc connection
df.to_sql('table_name', engine, if_exists='append', index=True, index_label=['country_id','year_id'])
来自上面链接的 Pandas 文档:
pandas.io.sql 模块提供了一组查询包装器,以方便数据检索并减少对特定于数据库的 API 的依赖……如果未安装 SQLAlchemy,则仅为 sqlite 提供后备。
来自pandas.DataFrame.to_sql 文档
con : sqlalchemy.engine.Engine 或 sqlite3.Connection
使用 SQLAlchemy 可以使用该库支持的任何数据库。为 sqlite3.Connection 对象提供了旧版支持。
添加回答
举报