gpt4 book ai didi

python - psycopg2.extras.DictCursor 没有给我列名

转载 作者:太空宇宙 更新时间:2023-11-04 04:14:57 24 4
gpt4 key购买 nike

我正在使用 psycopg2 从 Postgres 数据库访问数据。我正在使用 psycopg2.extras.DictCursor 使用以下查询以类似字典的形式获取数据:

try:
self.con = psycopg2.connect(dbname=self.db, user=self.username,
host=self.host, port=self.port)

cur = self.con.cursor(cursor_factory=psycopg2.extras.DictCursor)

cur.execute("SELECT * FROM card")

result = cur.fetchall()

print result

我将输出作为列表:

[['C01', 'card#1', 'description#1', '1'], ['C02', 'card#2', 'description#2', '1']]

但是,我也想要列名。我读了另一个类似的问题here ,但在尝试以下操作时,我得到了一个KeyError:

cur.execute("SELECT * FROM card")
for row in cur:
print(row['column_name'])

但是,以下是有效的:

cur.execute("SELECT * FROM card")
for row in cur:
print(row['id'])

输出:

C01
C02

关于如何获取列名称的任何想法?

最佳答案

要获取所有列名,您可以对行项目使用方法 keys,例如:

cur.execute("SELECT * FROM card")
result = cur.fetchall()
keys = list(result[0].keys()) if result else []
for row in result:
for key in keys:
print(row[key])

关于python - psycopg2.extras.DictCursor 没有给我列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55628133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com