0

我有一个名为:数据的熊猫数据框,我正在尝试将这个熊猫数据框读入 sql server 中的表中。我能够从 sql 将数据读入 python,但我正在解决将数据帧加载到表中的问题。

我已经尝试了一些示例,但仍然遇到相同的错误: DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': ('42S02', "[42S02] [Microsoft] [ODBC SQL Server 驱动程序][SQL Server]无效的对象名称 'sqlite_master'。(208) (SQLExecDirectW); [42S02] [Microsoft][ODBC SQL Server Driver][SQL Server]无法准备语句。( 8180)")

目前我有以下代码:

PASSW           = 'test'   
SERVER          = '111.111.11'
DB              = 'Database'
Table           = 'TableName'



data = pd.read_csv('2019_Prediction_24_10.csv')
cnxn = pyodbc.connect(DRIVER='{ODBC Driver 13 for SQL Server}', SERVER= SERVER, 
                          DATABASE= DB,User = 'User', Password = PASSW)

data.to_sql(con=cnxn, name='Predictions',schema = 'PA' ,if_exists='replace')

我是 pyodbc 的新手,并且将 python 与 sql server 一起使用,我不太确定出了什么问题,更不用说修复它了。

可以请人帮助我,或指出我正确的方向

4

1 回答 1

0

to_sql 文档中所述:

con : sqlalchemy.engine.Engine 或 sqlite3.Connection

您提供to_sql了一个 (pyodbc)Connection对象,因此 pandas 将其视为 SQLite 连接。要to_sql与 SQL Server 一起使用,您需要安装 SQLAlchemy,创建一个Engine对象并将其传递给to_sql.

于 2019-10-25T11:00:20.783 回答