Rumah >pangkalan data >tutorial mysql >Mengapa Pandas to_sql Menunjukkan Ralat SQLite Semasa Menulis ke MySQL?

Mengapa Pandas to_sql Menunjukkan Ralat SQLite Semasa Menulis ke MySQL?

DDD
DDDasal
2024-11-28 16:16:11484semak imbas

Why Does Pandas to_sql Show a SQLite Error When Writing to MySQL?

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:

  1. Import modul yang diperlukan:

    import pandas as pd
    import mysql.connector
    from sqlalchemy import create_engine
  2. 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.

  3. 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn