1
私は基本的に私はすべてを収集する必要があるマッピングcsvファイル
{
"name": "Data",
"children": [{
"name": "category1",
"children": [{
"name": "2010",
"children": [
{"name": "deatil1"},
{"name": "detail2"}
],
"name": "2011",
"children": [
{"name": "detail3"}
]
}, {
}]
},
{
"name": "category2",
"children": [{
"name": "2011",
"children": [{
"name": "detail4"
}]
}
]
}
]
}
の形でJSONにそれをマッピングする必要があり
"category1", 2010, "deatil1"
"category1", 2010, "deatil2"
"category1", 2011, "deatil3"
"category2", 2011, "deatil4"
の形でcsvファイル内のデータを持っています一意のカテゴリと年のペアの詳細とリストを配置
入れ子構造のディクテーション構造を使用しようとしましたが、出力が正しくありません。
私は、辞書の入れ子のネストを処理するカスタムdictクラスを作成しました。次のコードは、正しい構造のデータを収集しますが、正しい形式で出力する方法はわかりません。どんな助けでも大歓迎です。
class Vividict(dict):
def __missing__(self, key):
value = self[key] = type(self)()
return value
dict = Vividict()
for row in ws.iter_rows(row_offset=1):
sector = row[0].value
year = row[2].value
detail = row[1].value
dict[sector][year][detail]
print json.dumps(dict).encode('utf8')
実はあなたは辞書内包表記を使用しています! – Parfait
非常にエレガントなソリューション+1、ありがとう – Jessica