いい加減に覚えたい、よく使うPandas APIレファンレンス2
Pandas側からDBとのやり取りはよくするのに、いつも書き方を忘れてしまうのでメモ代わりに残してみました。
流れ
環境変数を読み込む
クエリを作ってデータフレーム化する
です。
インストール
まずモジュールのインストールから
pip install -U python-dotenv
.envの作成
次に環境変数を集めた.envを作つくり、Notebookと同じディレクトリにおきます。
.envファイル
HOST= host PORT= port_number DATABASE= db_name USER= user_name PASSWORD= your_password
ノートブック上で読み込む
ノートブック上では
%load_ext dotenv
をして、.envのパスを指定して読み込ませます。
2行だけで済むので楽チンです。
Notebook
%load_ext dotenv %dotenv .env import psycopg2 # postgres config connection_config = { 'host': os.environ.get("HOST"), 'port': os.environ.get("PORT"), 'database': os.environ.get("DATABASE"), 'user': os.environ.get("USER"), 'password': os.environ.get("PASSWORD") } connection = psycopg2.connect(**connection_config) df = pd.read_sql(sql='SELECT col1, col2 FROM data_table', con=connection, index_col='col1')
col1 | col2 | |
---|---|---|
0 | 東京 | 3 |
1 | 神奈川 | 4 |
2 | 千葉 | 3 |
まとめ
私は1プロジェクト1ノートブック派なので、環境変数をまとめたファイルを複数作っておいて、 $HOME/env_files/ のような場所に集めて集中管理した方がいいかもしれません。 Notebookをgithubにpushする時、.gitignoreに毎回書くのは面倒ですし。