psycopg2 で PostgreSQLに接続

2018/04/10

psycopg2 を利用して PostgreSQL に接続する

import numpy as np
import psycopg2 as pg 
import psycopg2.extras

connection = pg.connect("host=localhost port=5432 dbname=db_name user=postgres")

cursor = connection.cursor(cursor_factory=psycopg2.extras.DictCursor)
cursor.execute("SELECT * FROM users")

results = cursor.fetchall()
values = []
for row in results:
    values.append(dict(row))

print(values)

cursor.close()
connection.close()
  • PostgreSQL接続は、psycopg2.connect("DB設定")
  • connection.cursor() で cursor 作成
  • ディクショナリ形式で取得するには、psycopg2.exras.DictCuror を引数にする
  • cursor.execute() でSQLを実行
  • cursor.fetchall() でデータ取得
  • dict() でディクショナリ形式にし、append() で連想配列にする