如何在使用psycopg2.extras.RealDictCursor时保留列顺序

ker*_*rma 9 python psycopg2

dict_cur = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor)
dict_cur.execute("SELECT column1, column2, column3 FROM mytable")
result = dict_cur.fetchall()
print result[0]
>>> {'column2':10, 'column1':12, 'column3':42}
Run Code Online (Sandbox Code Playgroud)

如何在不先解析执行的SQL的情况下保留列排序?返回列表时,它适用于普通光标,但我需要访问字典键,因此需要使用RealDictCursor.

编辑:嗯,我实际上不能.应使用游标对象的description属性来获取列名.

maw*_*awi 1

我没有这个“ extras”包,但通常游标应该有一个名为 的属性description,它是一个元组,其中按顺序包含所有列以及一些附加信息(如字段类型等)。

在 python shell 中尝试“ print dict_cur.description”,看看会得到什么。

编辑:没关系。我没有读过你的“编辑”......