ホームページ >データベース >mysql チュートリアル >SQLAlchemy を使用して Pandas DataFrame を MySQL に正しく書き込む方法

SQLAlchemy を使用して Pandas DataFrame を MySQL に正しく書き込む方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-27 22:49:09241ブラウズ

How to Correctly Write Pandas DataFrames to MySQL Using SQLAlchemy?

MySQL で SQLAlchemy を使用して Pandas DataFrame を MySQL に書き込む

to_sql メソッドを使用して MySQL テーブルに pandas DataFrame を書き込もうとするとき非推奨の「flavor='mysql」構文からの移行推奨される SQLAlchemy エンジンのアプローチを使用すると、次のようなエラーが発生する可能性があります。

DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master
WHERE type='table' AND name=?;': Wrong number of arguments during
string formatting

このエラーは、MySQL の代わりに SQLite が使用されていることを示唆しています。これを解決するには、MySQL、特に mysql.connector との SQLAlchemy 接続が正しく使用されていることを確認します。

解決策

エラーは、で作成されたエンジンを使用することで解決できます。エンジンから生の接続を取得するのではなく、SQLAlchemy を to_sql メソッドの接続として直接使用します。修正されたコードは次のとおりです。

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)

エンジンを接続とし​​て使用することで、SQLAlchemy 接続が適切に確立され、SQLite に関するエラーが解消されます。これにより、DataFrame を MySQL テーブルに正常に書き込むことができます。

以上がSQLAlchemy を使用して Pandas DataFrame を MySQL に正しく書き込む方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。