psycopg2 select 结果嵌套在附加数组中
psycopg2 select result gets nested with additional array
我正在尝试使用 "psycopg2" 从 postgres 中获取 JSON 行。记录的值类似于 [ [{....},{...},{...}] ]。要获得正确的 JSON 结果,即。 [{....},{...},{...}] 我得去找记录1。不知道为什么会这样。
import psycopg2
import sys
import json
conn_string = "'host='localhost' dbname='postgres' user='postgres' password='password123'"
con=psycopg2.connect(conn_string)
cur = con.cursor()
cur.execute("select json_agg(art) from (select a.*, (select json_agg(b) from (select * from pfstklist where pfportfolioid = a.pfportfolioid ) as b) as pfstklist, (select json_agg(c) from (select * from pfmflist where pfportfolioid = a.pfportfolioid ) as c) as pfmflist from pfmaindetail as a) art")
records = cur.fetchall()
print(records) #This gives result [[{....},{...},{...}]]
records1=records[0]
print(records1) #This gives expected result [{....},{...},{...}]
cur.fetchall()
给你一个记录列表。你可能想要 cur.fetchone()
.
我正在尝试使用 "psycopg2" 从 postgres 中获取 JSON 行。记录的值类似于 [ [{....},{...},{...}] ]。要获得正确的 JSON 结果,即。 [{....},{...},{...}] 我得去找记录1。不知道为什么会这样。
import psycopg2
import sys
import json
conn_string = "'host='localhost' dbname='postgres' user='postgres' password='password123'"
con=psycopg2.connect(conn_string)
cur = con.cursor()
cur.execute("select json_agg(art) from (select a.*, (select json_agg(b) from (select * from pfstklist where pfportfolioid = a.pfportfolioid ) as b) as pfstklist, (select json_agg(c) from (select * from pfmflist where pfportfolioid = a.pfportfolioid ) as c) as pfmflist from pfmaindetail as a) art")
records = cur.fetchall()
print(records) #This gives result [[{....},{...},{...}]]
records1=records[0]
print(records1) #This gives expected result [{....},{...},{...}]
cur.fetchall()
给你一个记录列表。你可能想要 cur.fetchone()
.