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

时间:2012-03-17 17:55:18

标签: python 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()

3 个答案:

答案 0 :(得分:15)

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

(name, 
type_code, 
display_size,
internal_size, 
precision, 
scale, 
null_ok)

因此,对于您可能会执行的列名称:

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

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

答案 1 :(得分:0)

SQLrow对象集合上有一个columnNames属性。

所以,

for k in result.columnNames:
    print(k)

答案 2 :(得分:0)

q=conn.execute("SELECT * FROM YOUR_TABLE") pd.DataFrame.from_records(q.fetchall(),columns=q.keys())