簡體   English   中英

當我嘗試將 pandas 數據幀寫回我的 SQL 數據庫時出現錯誤

[英]I am getting an error when I try to write a pandas dataframe back to my SQL database

我正在嘗試從 Northwind 數據庫中讀取 Orders 表,然后在名為“Orders_New”的新表名下將其寫回數據庫。 我有以下 Python 代碼:

import pyodbc 
import pandas as pd

conn_str = (
    r'DRIVER={SQL Server};'
    r'SERVER=DESKTOP-A1DUCDS\SQLEXPRESS;'
    r'DATABASE=Northwind;'
    r'Trusted_Connection=yes;'
)
cnxn = pyodbc.connect(conn_str)

df = pd.read_sql_query('select * from Orders', cnxn)

print(df)

df.to_sql('Orders_New',con=cnxn,index=False)

但是,當我運行代碼時,它給了我以下錯誤:

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'. (208) (SQLExecDirectW); [42S02] [Microsoft][ODBC SQL Server Driver][SQL Server]Statement(s) could not be prepared. (8180)")

根據文檔DataFrame.to_sql()的第二個參數預計為 sqlalchemy.engine .(Engine or Connection) 或 sqlite3.Connection

con sqlalchemy.engine.(Engine or Connection) 或 sqlite3.Connection使用 SQLAlchemy 可以使用該庫支持的任何數據庫。 為 sqlite3.Connection 對象提供了舊版支持。 用戶負責 SQLAlchemy 可連接的引擎處理和連接關閉,請參見此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM