Python
sqlalchemy

SQLAlchemy を使って Pandas のデータをDBに保存する

More than 1 year has passed since last update.

概要

Python の O/R マッパー SQLAlchemy に関するメモ。

前提

$ pip install SQLAlchemy
$ pip install PyMySQL

コード

pandas.DataFrame.to_sqlを使用する。

import pandas as pd
import sqlalchemy as sa

df = pd.DataFrame({'point': [100]})
print(df)
url = 'mysql+pymysql://root:@localhost/test_db?charset=utf8'
engine = sa.create_engine(url, echo=True)

df.to_sql('test1', engine, index=False, if_exists='append')

これで MySQL の test_db データベース上で test1 テーブルの point カラムに 100 という数値が挿入される。if_exists を指定しないと、データベース上でテーブルを新規作成するように試み、すでにテーブルが存在するときには失敗する。

INSERT ではなく UPDATE はできるのだろうか?引き続き調べてみたい。