我有一个名为:data的熊猫数据框 我正在尝试将此pandas数据帧读取到sql server中的表中。 我可以从sql读取数据到python,但遇到将数据框加载到表中的问题。
我已经尝试了一些示例,但仍然遇到相同的错误: 数据库错误:在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驱动程序] [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一起使用,不太确定出什么问题了,更不用说修复它了。
可以请某人帮助我,或为我指明正确的方向
答案 0 :(得分:0)
如to_sql documentation中所述:
con:sqlalchemy.engine.Engine或sqlite3.Connection
您已为{
"genreId": 1,
"genreName": "action",
"_links": {
"self": {
"href": "http://localhost:8080/api/v1/moviegenre/id/1"
}
}
}
提供了一个(pyodbc)to_sql
对象,因此pandas将其视为SQLite连接。要将Connection
与SQL Server一起使用,您需要安装SQLAlchemy,创建一个to_sql
对象,并将其传递给Engine
。