PostgreSQL快捷方式
pgdata的Python项目详细描述
#pgdata
python postgresql postgis sqlalchemy快捷方式。
[![生成状态](https://travis-ci.org/smnorris/pgdata.svg?branch=master)](https://travis-ci.org/smnorris/pgdata)[![覆盖状态](https://coveralls.io/repos/github/smnorris/pgdata/badge.svg?branch=master)](https://coveralls.io/github/smnorris/pgdata?分支=主)
pgdata是一组方便使用postgresql的函数:
为数据库对象提供类似字典/json的快捷界面,而无需直接处理orm或游标(请参见[dataset](https://dataset.readthedocs.io/en/latest/))
>>> import pgdata >>> db = pgdata.connect() >>> db.tables ['inventory'] >>> db["inventory"].columns ['type', 'supplier', 'cost']
提供ogr2ogr的快捷方式,可以使用合理的默认值快速地从数据库中获取地理数据,而无需使用shell脚本
>>> import pgdata >>> db = pgdata.connect() >>> db.ogr2pg('airports.shp', out_layer='airports_a', schema='airport_project') >>> db.execute('do stuff') >>> db.pg2ogr('SELECT * FROM airports_project.result','GPKG', 'output.gpkg')
很多是直接从[dataset](https://dataset.readthedocs.org/)复制的,更多的灵感来自[pgwrap](https://github.com/paulchakravarti/pgwrap)。另请参见[记录](https://github.com/kennethreitz/records)和许多其他记录。
##要求
- PostgreSQL
- 邮政编码
- gdal(可选,用于pg2ogr和ogr2pg)
- [esri file geodatabase api](http://appsforms.esri.com/products/download/)(可选,用于将pg2ogr与filegdb选项一起使用)
##安装
` pip install pgdata `
##配置
创建环境变量database url并将其设置为数据库的[sqlalchemy db url](http://docs.sqlalchemy.org/en/latest/core/engines.html):
MacOS/Linux等:
导出数据库url=postgresql://postgres:postgres@localhost:5432/mydb
窗口:
设置数据库url=“postgresql://postgres:postgres@localhost:5432/mydb”
##用法
` >>> import pgdata >>> db = pgdata.connect(schema='myschema') >>> db.tables ['inventory'] >>> db["inventory"].columns ['type', 'supplier', 'cost'] >>> data = db.query("SELECT * FROM inventory WHERE type = %s", ('spam',)).fetchall() >>> for row in data: >>> print (row['type'],row['supplier'],row['cost']) ('spam', 'spamcorp', 100) >>> for row in db["inventory"].find(type='spam'): >>> print (row['type'],row['supplier'],row['cost']) ('spam', 'spamcorp', 100) `