MySQLdb 経由で Pandas データフレームをデータベースに挿入する
Python を使用した MySQL への接続は簡単で、行挿入などの操作は十分にサポートされています。ただし、Pandas データフレーム全体を既存のテーブルに挿入するとなると、直接挿入は可能ですか、それとも行の反復処理が必要ですか?
to_sql を使用した直接挿入
MySQL にデータフレームを挿入するための推奨される方法は、to_sql を使用することです。メソッド:
df.to_sql(con=con, name='table_name_for_df', if_exists='replace', flavor='mysql')
MySQLdb との接続セットアップ
MySQLdb を使用して MySQL への接続を確立するには、次のコマンドを実行します:
from pandas.io import sql import MySQLdb con = MySQLdb.connect() # may need additional connection parameters
風味とif_exists
write_frame のフレーバーを 'mysql' に設定すると、MySQL への書き込みが可能になります。 if_exists パラメータは、テーブルがすでに存在する場合の動作を制御します。オプションは「fail」、「replace」、「append」です。
例
単純な例を考えてみましょう。列 ID、data1、data2 と一致する Pandas を含むテーブルdataframe:
df = pd.DataFrame({'ID': [1, 2, 3], 'data1': ['a', 'b', 'c'], 'data2': [10, 20, 30]})
to_sql メソッドを使用してこのデータフレームをデータベースに挿入すると、次のようになります:
sql.write_frame(df, con=con, name='example_table', if_exists='replace', flavor='mysql')
この例では、「example_table」はデータベース内のテーブル名です。 「replace」は、既存のテーブルがデータフレームのデータで置き換えられることを意味します。
以上がPandas DataFrame を MySQL データベースに効率的に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。