Menulis ke Pangkalan Data MySQL dengan Pandas dan to_sql SQLAlchemy
Apabila cuba menulis kerangka data Pandas ke jadual MySQL menggunakan kaedah to_sql, pengguna mungkin menghadapi ralat yang menunjukkan bahawa SQLite sedang digunakan. Tingkah laku ini biasanya disebabkan apabila enjin SQLAlchemy dikonfigurasikan secara tidak betul untuk MySQL.
Penggunaan Enjin SQLAlchemy yang Betul untuk MySQL dengan mysql.connector
Untuk mewujudkan sambungan yang betul kepada pangkalan data MySQL menggunakan SQLAlchemy dan modul mysql.connector, langkah-langkah berikut ialah perlu:
Import modul yang diperlukan:
import pandas as pd import mysql.connector from sqlalchemy import create_engine
Buat enjin SQLAlchemy:
engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', echo=False)
Ganti [ pengguna], [lulus], [hos], [port] dan [skema] dengan bukti kelayakan dan pangkalan data MySQL anda maklumat.
Gunakan enjin sebagai parameter sambungan untuk to_sql:
data.to_sql(name='sample_table2', con=engine, if_exists='append', index=False)
Penyelesaian masalah:
Jika anda pernah mencuba kaedah ini dan mengalami ralat merujuk objek kursor yang hilang, pastikan anda menggunakan enjin, bukannya sambungan mentah, sebagai parameter sambungan. Sintaks yang betul ditunjukkan di atas.
Atas ialah kandungan terperinci Mengapa Pandas to_sql Menunjukkan Ralat SQLite Semasa Menulis ke MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!