


Bagaimana untuk Menulis Pandas DataFrames dengan betul ke MySQL Menggunakan SQLAlchemy?
Nov 27, 2024 pm 10:49 PMMenggunakan SQLAlchemy dengan MySQL untuk Menulis Pandas DataFrames ke MySQL
Apabila cuba menulis panda DataFrame ke jadual MySQL menggunakan kaedah to_sql sambil beralih daripada sintaks 'flavor='mysql'' yang tidak digunakan kepada enjin SQLAlchemy yang disyorkan pendekatan, pengguna mungkin menghadapi ralat yang serupa dengan:
DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': Wrong number of arguments during string formatting
Ralat ini menunjukkan bahawa SQLite sedang digunakan dan bukannya MySQL. Untuk menyelesaikan masalah ini, pastikan penggunaan sambungan SQLAlchemy yang betul dengan MySQL dan khususnya mysql.connector.
Penyelesaian
Ralat boleh diselesaikan dengan menggunakan enjin yang dibuat dengan SQLAlchemy secara langsung sebagai sambungan untuk kaedah to_sql, bukannya mendapatkan sambungan mentah daripada enjin. Berikut ialah kod yang diperbetulkan:
import pandas as pd import mysql.connector from sqlalchemy import create_engine # Create an SQLAlchemy engine engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', echo=False) # Read data from the MySQL table data = pd.read_sql('SELECT * FROM sample_table', engine) # Write the DataFrame to a new table data.to_sql(name='sample_table2', con=engine, if_exists='append', index=False)
Dengan menggunakan enjin sebagai sambungan, sambungan SQLAlchemy diwujudkan dengan betul dan ralat berkenaan SQLite dihapuskan. Ini membolehkan DataFrame berjaya ditulis ke jadual MySQL.
Atas ialah kandungan terperinci Bagaimana untuk Menulis Pandas DataFrames dengan betul ke MySQL Menggunakan SQLAlchemy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kurangkan penggunaan memori MySQL di Docker

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table?

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama

Apa itu SQLite? Gambaran Keseluruhan Komprehensif

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin)

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah

Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)?

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL?
