2016年1月4日月曜日

psycopg2を使用してクエリー結果をカラム名でアクセスする

psycopg2を使用してクエリー結果をカラム名でアクセスするには、以下のコードのようにpsycopg2.extrasのDictCursorを使用します。

import psycopg2
import psycopg2.extras

try:
    cnn = psycopg2.connect("dbname=yourdb host=yourhost user=you password=yourpass")
    cur = cnn.cursor(cursor_factory=psycopg2.extras.DictCursor)

    cur.execute("""
      select ... from ...
    """)
    rows = cur.fetchall()
    for row in rows:
        print row['column_name']

    cur.close()
    cnn.close()

except (psycopg2.OperationalError) as e:
    print (e)

※参考
http://initd.org/psycopg/docs/extras.html


○関連情報
・psycopg2に関する他の記事はこちらを参照してください。