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

当我调用.to_sql()Pandas 系列时,出现ImportError异常:


发生异常:ImportError

DLL 加载失败:找不到指定的模块。


我导入了pandas和pyodbc,并且能够连接到数据库服务器并通过读取数据.read_sql_query()以及在代码中的其他地方使用 Pandas Dataframes。它只在我尝试打电话时出现.to_sql()


熊猫版本 0.23.4


import pandas as pd

import numpy as np

import pyodbc

conn = 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'])

谢谢


沧海一幻觉
浏览 147回答 1
1回答

拉丁的传说

从查看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 connectiondf.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 对象提供了旧版支持。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python