MySQL への書き込み時に Pandas の to_sql が「引数の数が間違っています」エラーで失敗するのはなぜですか?

Linda Hamilton
リリース: 2024-11-27 15:20:11
オリジナル
514 人が閲覧しました

Why Does Pandas' to_sql Fail with a

SQLAlchemy の to_sql を使用した Pandas による MySQL データベースへの書き込みのトラブルシューティング

SQLAlchemy の to_sql メソッドを使用して Pandas データフレームを MySQL データベースに書き込もうとすると、次のようなエラーが発生する場合があります。次のようなもの:

DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master
WHERE type='table' AND name=?;': Wrong number of arguments during
string formatting
ログイン後にコピー

このエラーは、実行中の SQL クエリの不一致を示します。興味深いことに、MySQL ではなく SQLite データベースから選択することを提案しています。

この問題を修正し、SQLAlchemy エンジンと mysqlconnector を使用して MySQL との正しい接続を確立するには、次の手順に従います。

  • エンジン オブジェクトを接続パラメータとして直接利用します。 to_sql:
import pandas as pd
import mysql.connector
from sqlalchemy import create_engine

# Create SQLAlchemy engine
engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', echo=False)

# Read and write using the engine connection
data = pd.read_sql('SELECT * FROM sample_table', engine)
data.to_sql(name='sample_table2', con=engine, if_exists='append', index=False)
ログイン後にコピー

この変更により、読み取りと書き込みの両方に使用される接続が MySQL に接続された SQLAlchemy エンジンになることが保証されます。これにより、SQLite 関連のエラーを引き起こした可能性がある、生の接続を使用する最初の試行が不要になります。

以上がMySQL への書き込み時に Pandas の to_sql が「引数の数が間違っています」エラーで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート