2016-05-27 123 views
1

別の複雑なpythonコードで使用されるリスト内のSQLテーブルのカラム名が必要です古いSOのいくつかの投稿で試してみましょう:pyodbcを使用してSQLテーブルのカラム名をリストとして保存する

db_columns = cursor.columns(table='result', schema='dbo').fetchall() 

    [(u'Basis', u'dbo', u'result', u'TXN_KEY', -5, u'bigint identity', 19, 8, 0, 10, 0, None, None, -5, None, None, 1, 'NO', 0, 0, 0, 1, None, None, None, None, None, None, 63),(u'Basis', u'dbo', u'result', u'Send_Agent', 12, u'varchar', 9, 9, None, None, 1, None, None, 12, None, 9, 2, 'YES', 0, 0, 0, 0, None, None, None, None, None, None, 39),(u'Basis', u'dbo', u'result', u'Pay_Agent', 12, u'varchar', 9, 9, None, None, 1, None, None, 12, None, 9, 3, 'YES', 0, 0, 0, 0, None, None, None, None, None, None, 39)] 

上記の出力は文字化けしており、多くの不必要な情報があります。私は必要なのは、結果テーブルの列名で、リストに割り当て= [「TXN_KEY」、「Send_Agent」、「Pay_Agent」]

for row in cursor.columns(table='result'): 
x = row.column_name 
x 
Out[14]: u'Pay_Agent' 

この出力は、私の列名を1つだけ提供します。

洞察のために事前に感謝します。

答えて

2

SELECT like this?

SELECT COLUMN_NAME,* 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA='dbo' and TABLE_NAME = 'YourTableName' 
+0

... –

+0

時にはそうです。彼らはより困難になる傾向があります –

関連する問題