#12 DB/Pandas PostgreSQL アウトプット

Pandasの領域に引き込んで処理をしたので、DBに返します。こんどはPostgreSQLの領域に返します。

まず、PostgreSQLにデータベースを作っていきます。pgAdmin4を使います。localhostにデータベースを作ります。名前はpandas_postgresとでもしておきます。

画像1

Databaseを右クリック⇒Createからデータベースを作成します。

中のテーブルは作成しなくても大丈夫です。

import pandas as pd
from sqlalchemy import create_engine

df1 = pd.read_csv("df1.csv")
df2 = pd.read_csv("df2.csv")
engine=create_engine("postgresql://postgres:pass@localhost:5432/pandas_postgres")
df1.to_sql("score", engine, if_exists="replace", index=False)
df2.to_sql("users", engine, if_exists="replace", index=False)

to_sqlコマンドにより、postgreSQLにかかれます。

if_exists="replace"

ここでappendにすると、上書きされます。replaceの場合、同じデータが入ります。プライマリーキーを設定すると、エラーになります。

つまり、一括ですべてのデータを入れるとき、毎回書き換えなきゃいけないので単独で、該当データだけ処理したほうがいい。

いいなと思ったら応援しよう!