Как получить имена столбцов из строки, возвращаемой запросом 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()


person Cheeso    schedule 17.03.2012    source источник


Ответы (3)


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/

person mechanical_meat    schedule 17.03.2012

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

So,

for k in result.columnNames:
    print(k)
person Cheeso    schedule 17.03.2012

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

person Mesum Raza Hemani    schedule 02.02.2021
comment
Можете ли вы уточнить, как это отвечает на вопрос? Похоже, вы используете Pandas (что не было частью исходного вопроса), а также неясно, как ваш ответ удовлетворяет тому, что искал ОП (более 8 лет назад). - person Foon; 02.02.2021