如何从adodbapi查询返回的行中获取列名?


问题内容

假设我查询这样的数据库:

import adodbapi
conn = adodbapi.connect(connStr)
tablename = "[salesLT].[Customer]"

cur = conn.cursor()

sql = "select * from %s" % tablename
cur.execute(sql)

result = cur.fetchall()

我认为结果是一系列SQLrow对象。

如何获取查询返回的列名的列表或序列?

我认为是这样的:

    row = result[0]
    for k in row.keys():
        print(k)

…但是.keys()不是。

也不 .columnNames()


问题答案:

cur.description 是一个包含7个元组的只读属性,如下所示:

(名称, 
type_code, 
显示屏尺寸,
internal_size, 
精确, 
规模, 
null_ok)

因此,对于列名,您可以这样做:

col_names = [i[0] for i in cur.description]

参考:http :
//www.python.org/dev/peps/pep-0249/