1

Oracleクエリ結果から辞書のセットを作成する必要があります。

私のデータは、ステーションID、日付、時刻、場所、種、およびキャッチウェイトに配置されています。種ごとに新しい行がありますが、すべての場所などのデータは冗長である可能性があります。

まず、stationID、dateなどのフィールド名と値でキー付き辞書を作成する必要があります。

value[1]  (this being the station ID field)

私は得る

112

最終結果は、すべての「類似」ステーションID、日付などを1つの一意のキーに集約し、結果のデータ(魚の漁獲量)が値になります。

[date,time,location, etc]:タラ47、メルルーサ31、ハナミズキ5

これまでのところ、データをフィールド名ごとに、次に行ごとに個別のキー付き辞書に解析するには、次のようにします。

desc=[d[0] for d in cursor.description]
field=[d[1] for d in cursor.description]
value=dict(zip(desc,field))   
result=[dict(zip(value,line)) for line in cursor]
print result[1]

ただし、valueを呼び出そうとすると、フィールドは単にデータ型になります。実際のデータ値を取得するにはどうすればよいですか。そして、それを個々のサンプルを解析する「結果」ディクショナリにネストしますか?

4

1 に答える 1

3

間違ったアイテムをまとめています。Zip のみdescであり、タプルlineの 2 番目の項目を使用する必要はありません。cursor.description

desc=[d[0] for d in cursor.description]
result=[dict(zip(desc, line)) for line in cursor]
于 2012-12-17T15:37:09.410 に答える