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)和许多其他记录。

##要求

##安装

` 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) `

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java关闭到DB的连接不会关闭所有连接   java如何跟踪eclipse中编译错误的错误?   java设计/实现。。。最有可能使用AJAX   java无法从SharedReference获取数据   在java中,用|将印地语段落串成   java以编程方式在单击时创建微调器工作   java对如何完成新程序的困惑?   java停止httpConnection blackberry超时   java为什么继承的静态变量可以被子类的非静态方法访问?   java Spring安全性通过控制器进行身份验证   java类继承和泛型类型   创建票证服务时CAS重定向上的java错误   使用java的sockets对等应用程序