首頁 >資料庫 >mysql教程 >為什麼在使用 Pandas 和 SQLAlchemy 寫入 MySQL 資料庫時出現 SQLite 引用錯誤?

為什麼在使用 Pandas 和 SQLAlchemy 寫入 MySQL 資料庫時出現 SQLite 引用錯誤?

DDD
DDD原創
2024-12-08 06:23:16515瀏覽

Why Am I Getting an SQLite Reference Error When Using Pandas and SQLAlchemy to Write to a MySQL Database?

使用Pandas 和SQLAlchemy 寫入MySQL 資料庫時發生錯誤

嘗試使用SQLAlchemy 的to_sql 方法將Pandas 資料幀寫入表時,一個常見的錯誤是儘管使用MySQL,但仍遇到對SQLite 的引用。由於在建立 SQLAlchemy 引擎時使用flavor='mysql'參數,可能會出現此問題。

棄用 'flavor' 參數

flavor='不建議使用 mysql' 參數,轉而使用 dialect 參數。正確的用法是:

engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', dialect='mysql', echo=False)

SQLAlchemy 連接的正確用法

要使用 mysqlconnector 與 MySQL 建立連接,應該使用:

cnx = engine.connect()

而不是已棄用的raw_connection().

解決錯誤

要解決引用 SQLite的錯誤,請使用以下步驟:
  1. 更新引擎建立以使用正確的方言:
    engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', dialect='mysql', echo=False)
  2. 使用以下方式建立連接:
    cnx = engine.connect()
  3. 使用cnx 物件執行SQL操作。例如,要寫入資料框:
    data.to_sql(name='sample_table2', con=cnx, if_exists='append', index=False)

依照下列步驟,您可以使用 Pandas 和 SQLAlchemy 成功寫入 MySQL 資料庫。

以上是為什麼在使用 Pandas 和 SQLAlchemy 寫入 MySQL 資料庫時出現 SQLite 引用錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn