2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MySQLからデータを取得してpandasで使用する

Last updated at Posted at 2021-11-24

概要

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)
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?