How do I get the column names from a row returned from an adodbapi query?
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()
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