1

pyodbc を使用してデータベースに接続しており、特定のテーブルから情報を抽出する必要があります。

特定の列名の値に基づいて、テーブルの各行に一意の ID を作成しています。IDに使用される各列名を構成ファイルから取得しています。

ハードコーディングされた列名でこれを行うことができます:

connection = pyodbc.connect("connection string")
cursor = connection.cursor() 
cursor.execute("select * from " + t)  //t is the table name
rows = cursor.fetchall()
for row in rows: 
    id = `row.GroupID` + `row.Leg` 

しかし、列名を構成ファイルの名前に置き換えるにはどうすればよいですか?

4

2 に答える 2

4

あなたが使用することができますgetattr

colname = "GroupID"
getattr(row, colname)
于 2012-08-21T11:34:54.640 に答える
3

列名が既に構成ファイルから読み取られ、リスト (「列」という名前) に格納されていると仮定すると、次の行に沿って何かを行うことができます。

for row in rows:
    id = ''.join([getattr(row, col) for col in columns])

これにより、行オブジェクトから属性がフェッチされ、リストに入れられます。リストは、例のように結合を使用して連結されます。

于 2012-08-21T11:37:11.020 に答える