我尝试使用 RealDictCursor:
cur = conn.cursor(cursor_factory = psycopg2.extras.RealDictCursor)
cur.execute('SELECT * FROM items')
res = cur.fetchall()
print(res)
print(type(res[0]))
但是它不起作用。结果:
[RealDictRow([('id', 1), ('name', 'apple')]), RealDictRow([('id', 2), ('name', 'pen')])]
<class 'psycopg2.extras.RealDictRow'>
我需要一个词典,输出应该如下所示:
[{"id": 1, "name": "apple"}, {"id": 2, "name": "pen"}]
<class 'dict'>
是的,我知道可以使用for循环来创建字典。但是我有一个包含 10000 行的表格,并且需要快速展示这 10000 个项目。(我认为使用for循环不能很快地解决我的问题。这是真的吗?你能给我一些建议来在最短的时间内快速解决我的问题吗?)
我该如何获得解决方案呢?
PS:我需要用 Flask 的 API 服务,所以之后我需要像这样返回结果:
return jsonify({my_dictonary_sql_query})
RealDictRow
是dict
的子类。 - alkasmjson.dumps(cur.fetchall())
比循环for
更快吗? - Vlad