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 つのタプルを含む読み取り専用の属性です。

(名前、
タイプコード、
ディスプレイサイズ、
internal_size,
精度、
規模、
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 に答える