为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas .to_sql 函数抛出 ImportError(DLL 加载失败)

Pandas .to_sql 函数抛出 ImportError(DLL 加载失败)

沧海一幻觉 2021-11-30 16:22:29
当我调用.to_sql()Pandas 系列时,出现ImportError异常:发生异常:ImportErrorDLL 加载失败:找不到指定的模块。我导入了pandas和pyodbc,并且能够连接到数据库服务器并通过读取数据.read_sql_query()以及在代码中的其他地方使用 Pandas Dataframes。它只在我尝试打电话时出现.to_sql()熊猫版本 0.23.4import pandas as pdimport numpy as npimport pyodbcconn = pyodbc.connect('Driver={SQL Server};Server=' + prm.DATASOURCE + ';DATABASE=' + prm.DATABASE + ';UID=' + prm.USER + ';PWD=' + prm.PASSWORD)df.to_sql('table_name', conn, if_exists='append', index=True, index_label=['country_id','year_id'])谢谢
查看完整描述

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 对象提供了旧版支持。


查看完整回答
反对 回复 2021-11-30
  • 1 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信