7

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

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()

4

3 回答 3

16

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

(姓名,
类型代码,
显示屏尺寸,
内部尺寸,
精确,
规模,
null_ok)

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

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

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

于 2012-03-17T18:10:14.003 回答
0

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

所以,

for k in result.columnNames:
    print(k)
于 2012-03-17T19:53:01.417 回答
0

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

于 2021-02-02T16:33:05.553 回答