Question

Suppose I query a database like this :

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

cur = conn.cursor()

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

result = cur.fetchall()

The result is, I think, a sequence of SQLrow objects.

How can I get a list or sequence of the column names returned by the query?

I think it is something like this:

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

...but .keys() is not it.

nor .columnNames()

Was it helpful?

Solution

cur.description is a read-only attribute containing 7-tuples that look like:

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

So for column names you might do:

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

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

OTHER TIPS

There is a columnNames property on the collection of SQLrow objects.

So,

for k in result.columnNames:
    print(k)

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top