Я использую 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']]
Однако мне также нужны имена столбцов. Я прочитал еще один похожий вопрос здесь , но, попробовав следующее, я получаю 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
Есть идеи, как мне получить имена столбцов?