LoginSignup
4
2

More than 5 years have passed since last update.

sqlalchemyを使ってDBのテーブル検索をしてpandasのDataflameを作成する

Posted at

RDBのテーブルを検索してpandasのdataframeを作成する

 pandasにはRDBに対してsqlクエリーを実行するメソッドが用意されている。これを使ってストアドプロシージャを実行し、その実行結果からpandasのdataframeを作成。pandasを使ったデータ集計やらその後のmatplotlibを使ったグラフ描画などに展開することが可能。

make_pandas_df.py

    import sqlalchemy
    import pandas as pd

    q = 1
    ym = 201604

    CONNECT_INFO = 'mssql+pyodbc://hogehoge'
    engine = sqlalchemy.create_engine(CONNECT_INFO, encoding='utf-8')

    #データフレーム作成
    query = 'EXEC dbo.sp_rtrv4pandas @q = {0},@ym = {1}'.format(qq,ym)
    df = pd.read_sql_query(query, engine,index_col =['prd'])

    print(df)

1.上記における接続DBはSQLServerを想定。SQLServerの場合、ストアドの実行はEXEC文で行う
2.pandasのread_sql_queryメソッドでSQLを実行する
3.ストアドプロシージャの引数は、上記のようにpythonの変数埋め込み記述(format)で指定
4.ストアドプロシージャの結果はdfにセット、これがpandasのdataframeオブジェクトとなる

4
2
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
4
2