首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从psycopg3选择查询返回json/字典

从psycopg3选择查询返回json/字典
EN

Stack Overflow用户
提问于 2022-11-22 08:25:08
回答 1查看 13关注 0票数 1

我被要求将一个程序从psycopg2迁移到psycopg3。在这个程序中,他们使用

代码语言:javascript
复制
with connection.cursor(cursor_factory=RealDictCursor) as cursor:

以获得后来被转换为JSON文件的字典。

我的问题是,RealDictCursor似乎是psycopg2的额外特性,因此在尝试将它用于psycopg3时会出错。在psycopg3中有其他的选择吗?

尝试使用psycopg2库,但没有工作。除了手动遍历返回的数据之外,没有找到任何适合psycopg3的替代方法

EN

回答 1

Stack Overflow用户

发布于 2022-11-22 08:38:56

在psycopg3中生成作为字典的行的方法是将dict_row 排厂传递给连接。

代码语言:javascript
复制
>>> from psycopg.rows import dict_row
>>>
>>> conn = psycopg.connect(dbname='test', row_factory=dict_row)
>>> cur = conn.cursor()
>>> cur.execute('select id, name from users')
<psycopg.Cursor [TUPLES_OK] [INTRANS] (user=me database=test) at 0x7f0a2bebbdc0>
>>> cur.fetchall()
[
    {'id': 1, 'name': 'Alice'},
    {'id': 2, 'name': 'Bob'},
    {'id': 3, 'name': 'Carol'},
    {'id': 4, 'name': 'Dave'},
    {'id': 5, 'name': 'Eve'}
]
>>> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74529506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档