私はsqlalchemy
in pandasを使用してpostgresデータベースを照会し、変換の結果を同じデータベース上の別のテーブルに挿入しています。しかし、df.to_sql('db_table2', engine)
次のエラーメッセージが表示されます:ValueError: Table 'db_table2' already exists.
新しいテーブルを作成したいことに気付きました。既存のテーブルにpandas dataframeを挿入するには?
df = pd.read_sql_query('select * from "db_table1"',con=engine)
#do transformation then save df to db_table2
df.to_sql('db_table2', engine)
ValueError: Table 'db_table2' already exists
if_exists パラメーターを使用します:
df.to_sql('db_table2', engine, if_exists='replace')
または
df.to_sql('db_table2', engine, if_exists='append')
docstringから:
"""
if_exists : {'fail', 'replace', 'append'}, default 'fail'
- fail: If table exists, do nothing.
- replace: If table exists, drop it, recreate it, and insert data.
- append: If table exists, insert data. Create if does not exist.
"""