Как получить имена столбцов из строки, возвращенной из запроса adodbapi? - PullRequest
6 голосов
/ 17 марта 2012

Предположим, я запрашиваю базу данных следующим образом:

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

Ответы [ 2 ]

15 голосов
/ 17 марта 2012

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/

0 голосов
/ 17 марта 2012

В коллекции объектов SQLrow есть свойство columnNames.

Итак,

for k in result.columnNames:
    print(k)
...