ChatGPTにpandasデータフレームをSQLiteに保存して後から再読み込みできるようなコードを書いてもらいました。
ChatGPTへの指示文:
PythonのpandasでデータフレームをSQLiteに保存して、後から再読み込みできるようなコードを書いてください。すでにtableが存在していた場合、上書きするようにしてください。
回答:
以下は、Pythonのpandasライブラリを使用してデータフレームをSQLiteデータベースに保存し、後で再読み込みするためのコードの例です。
import pandas as pd
import sqlite3
# データフレームを作成
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']})
# SQLiteデータベースに接続
conn = sqlite3.connect('example.db')
# データフレームをSQLiteに保存/テーブルが存在すれば上書き保存
df.to_sql('example_table', conn, if_exists='replace', index=False)
# データベースとの接続を閉じる
conn.close()
# データベースからデータフレームを再読み込み
conn = sqlite3.connect('example.db')
df_loaded = pd.read_sql('SELECT * FROM my_table', conn)
# データベースとの接続を閉じる
conn.close()
# 読み込んだデータフレームを表示
print(df_loaded)
このコードでは、to_sqlメソッドを使用してデータフレームをSQLiteデータベースに保存し、read_sql関数を使用してデータベースからデータフレームを再読み込みしています。index=Falseを指定することで、データベースにインデックスを保存しないようにしています。また、データベースへの接続と切断は、sqlite3ライブラリを使用して行われています。保存したデータフレームは、df_loadedという新しいデータフレームに再読み込まれます。最後に、print(df_loaded)を使用して読み込まれたデータフレームを表示しています。必要に応じて、データベースのファイル名やテーブル名を変更することができます。また、SQL文を使用してデータベースからデータを取得する際には、適宜SQLクエリを変更してください。詳細については、pandasの公式ドキュメントを参照してください。`
結果:
以下のように一発で成功しました。