イム新しいネストされたデータから抽出して、いくつかのネストされたデータPythonのリスト理解は - ここでは、2つの製品のためのJSONでのpythonへ
を抽出しようとしていました。商品は0個以上のカテゴリに属することができます
{
"Item":[
{
"ID":"170",
"InventoryID":"170",
"Categories":[
{
"Category":[
{
"CategoryID":"444",
"Priority":"0",
"CategoryName":"Paper Mache"
},
{
"CategoryID":"479",
"Priority":"0",
"CategoryName":"Paper Mache"
},
{
"CategoryID":"515",
"Priority":"0",
"CategoryName":"Paper Mache"
}
]
}
],
"Description":"Approximately 9cm wide x 4cm deep.",
"SKU":"111931"
},
{
"ID":"174",
"InventoryID":"174",
" Categories":[
{
"Category":{
"CategoryID":"888",
"Priority":"0",
"CategoryName":"Plaster"
}
}
],
"Description":"Plaster Mould - Australian Animals",
"SKU":"110546"
}
],
"CurrentTime":"2016-08-22 11:52:27",
"Ack":"Success"
}
商品が属するカテゴリを特定したいと思います。
次のように抽出するための私のコードは: -
for x in products:
productsInCategory = []
for y in x['Categories']:
for z in y['Category']:
if z['CategoryID'] == categories[i]['CategoryID']:
productsInCategory.append(x)
この問題は、この場合、第2のアイテムは一つだけカテゴリ、このライン
for z in y['Category']:
のでカテゴリのない配列を含んでいることですカテゴリのプロパティをループし、カテゴリ配列ではないためコードが失敗する
これを防ぐにはどうすればよいですか?そしてこれはリストの理解構文でよりエレガントに書くことができますか?
ありがとうございます - それは治療をしました – David