我有一个pandas数据框,大约有20k行和20列。我想把它写到MSSQL中的一个表中。
我已成功建立连接:
connection = pypyodbc.connect('Driver={SQL Server};'
'Server=XXX;'
'Database=line;'
'uid=XXX;'
'pwd=XXX')
cursor = connection.cursor()
我正试图用以下代码将pandas数据帧写入MSSQL服务器:
df_EVENT5_16.to_sql('MODREPORT', connection, if_exists = 'replace')
但我得到了以下错误:
DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': ('42S02', "[42S02] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'sqlite_master'.")
不需要使用pyodbc来连接MSSQL,SQL Alchemy将为您做到这一点。 我们还可以直接将数据帧插入数据库,而无需使用to_sql()方法迭代数据帧。这是对我有用的代码-
现代Pandas版本期望^{} 作为连接,因此使用SQLAlchemy:
然后:
来自DataFrame.to_sql() docs:
相关问题 更多 >
编程相关推荐