Menulis Bingkai Data Panda ke MySQL menggunakan Kaedah to_sql SQLAlchemy
Soalan ini menangani cabaran menulis bingkai data Pandas ke jadual MySQL menggunakan to_sql SQLAlchemy kaedah. Pengguna mengalami ralat semasa cuba menggunakan sintaks 'flavor='mysql'' yang lapuk dan ingin beralih kepada menggunakan enjin SQLAlchemy.
Pendekatan yang betul ialah menggunakan fungsi create_engine daripada SQLAlchemy untuk mewujudkan sambungan kepada pangkalan data MySQL menggunakan dialek mysql mysqlconnector. Sambungan ini kemudiannya hendaklah dihantar sebagai parameter con kepada kaedah to_sql.
import pandas as pd from sqlalchemy import create_engine engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', echo=False) data.to_sql(name='sample_table2', con=engine, if_exists='append', index=False)
Pada mulanya, pengguna cuba menggunakan kaedah raw_connection() untuk mendapatkan sambungan, tetapi ia mengakibatkan ralat yang menunjukkan percubaan untuk menggunakan SQLite dan bukannya MySQL. Dengan menyatakan objek enjin secara langsung sebagai hujah con, isu itu telah diselesaikan.
import pandas as pd from sqlalchemy import create_engine data.to_sql(name='sample_table2', con=engine, if_exists='append', index=False)
Pengguna juga mengalami AttributeError semasa cuba menghantar enjin sebagai hujah con kerana objek enjin tidak mempunyai atribut kursor. Dengan menggunakan fungsi create_engine untuk mewujudkan sambungan MySQL, objek sambungan yang sesuai disediakan, membenarkan kaedah to_sql untuk dilaksanakan dengan jayanya.
Atas ialah kandungan terperinci Bagaimana untuk Menulis Pandas DataFrames ke MySQL menggunakan Kaedah `to_sql` SQLAlchemy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!