概要
sqlalchemyを使用してDBに接続し、selectの結果をpandasのDataFrameとして取得する方法です。
使用方法
インストール
sqlalchemyとPyMySQLがインストールされていない場合はpipでインストールします。
console
pip install sqlalchemy
pip install PyMySQL
DB接続+データ取得
DBに接続するには create_engine() 関数にURLを指定します。
pandasのread_sql関数にselect文とcreate_engineで作成したengineを指定し実行すると、sqlの実行結果がDataFrameとして取得できます。
python
import pandas as pd
import sqlalchemy as sa
user = 'username' # ユーザ名
password = 'password' # パスワード
host = 'localhost' # ホスト名 or IP
db = 'database' # データベース
port = 3306 # ポート
url = f'mysql+pymysql://{user}:{password}@{host}:{port}/{db}?charset=utf8'
# engine作成
engine = sa.create_engine(url, echo=False)
# pandasのread_sql関数にselect文とengineを指定する
query = "select * from table"
df = pd.read_sql(query, con=engine)