python 得到 postgres 查询结果 可以有列名

Posted 百变小超

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 得到 postgres 查询结果 可以有列名相关的知识,希望对你有一定的参考价值。

 1 import psycopg2
 2 import psycopg2.extras
 3 
 4 conn = psycopg2.connect(database=self.dbname, user=self.username, password=self.password,  host=self.host, port=self.port)
 5 cursor = self.conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
 6 sql = ""
 7 cursor.execute(sql)
 8 rows = self.cursor.fetchall()
 9 # 此时的 rows里面的元素 为 RowDict类型的结构,
10 for row in rows:
11     print row[某个列名]访问

参考:http://yuanjun.me/postgresql/pythoncao-zuo-postgresql#toc_5

在需要得到查询结果列名的情况下 需要初始化 cursor的时候特别注意,添加 

cursor_factory=psycopg2.extras.DictCursor

如此这样 也不影响,正常的遍历访问,如

a,b,c,d = row # a,b,c,d 都为具体的查询值

 

以上是关于python 得到 postgres 查询结果 可以有列名的主要内容,如果未能解决你的问题,请参考以下文章

将 postgres 函数与查询相结合

在 django(postgres 后端)中按数字字符串排序查询结果

带有“%%”参数的 Postgres 查询未通过 psycopg2 返回结果

Postgres:在结果集中查找特定行的位置?

Python - 使用 sqlalchemy 的 Postgres 查询返回“空数据框”

列名中带有大写字母的 Postgres 查询