サイトマップ
お知らせ、メモ
案内板
うちのヘッドライン
 




トップ  >  ソフトウェア豆知識  >  PostGIS豆知識  >  PythonからPostGISを操作するには

PythonからPostGISを操作するには

PostGIS WikiのPostgis and Python のところに、PythonからPostgreSQLに接続する方法が紹介されています。 ここではこの中からpsycopg2を採用します。

initd.orgからpsycopg2のソースコードをダウンロードすることができます。 コンパイルするのは大変そうで、心が折れそうになりますが、ありがたいことに win-psycopg にはpsycopg2のWindows用インストーラが配布されていますので、Windows環境ならこれを使うと良いでしょう。

使い方はドキュメントなどに書かれているのでそれを見ればわかりますが、 大体以下の様に使います。

接続

import psycopg2

  try:
    conn = psycopg2.connect("dbname='データベース名' user='ユーザ名' 
                             host='ホスト名' password='パスワード'")
  except:
    print "失敗"

SQL実行

  cur = conn.cursor()
  sql = """何かSELECT文"""
  cur.execute(sql)
  rows = cur.fetchone()
  # もしくは
  rows = cur.fetchall()

rowsにはリストが帰ってきます。 fetchone()を実行しても要素が1つのリストが帰ってきます。

PostGIS特有のSQL文もちゃんと実行してくれます。

切断

  conn.close()

非同期接続とか、クエリのキャンセルなんかもあります。 詳しくはpsycopg2のドキュメントを参照してください。


クリエイティブ・コモンズ・ライセンス
This documents by Yamate,N is licensed under a Creative Commons 表示 - 継承 3.0 非移植 License.
login