我正在读一个Json,它是几个字典的列表,如下所示:
a_list = [ {
"ID": "20394820938",
"data": [
{
"fruit": "tomato",
"provider": "walmart",
"availability": "True",
"Type": false
},
{
"fruit": " orange ",
"Type": false
},
{
"fruit": "watermelon",
"provider": "destination",
"availability": "cotsco",
"Type": false
},
{
"fruit": " the watermelon is new",
"Type": false
}
],
"API": false,
"count": 0
},
{
"ID": "203948lHBFNPO",
"data": [
{
"fruit": "apple",
"provider": "walmart",
"availability": "True",
"Type": false
},
{
"fruit": " this is a tomato ",
"Type": false
},
{
"fruit": "lemon",
"provider": "unknown",
"availability": "cotsco",
"Type": false
},
{
"fruit": " orange ",
"Type": false
},
{
"fruit": "banana",
"provider": "unknown",
"availability": "unknown",
"Type": false
}
],
"API": false,
}
]
当且仅当字典的一个子元素中有字符串apple
时,如何将IM00N
附加到Json的id值?例如:
a_list = [ {
"ID": "20394820938",
"data": [
{
"fruit": "tomato",
"provider": "walmart",
"availability": "True",
"Type": false
},
{
"fruit": "apple",
"Type": false
},
{
"fruit": "watermelon",
"provider": "destination",
"availability": "cotsco",
"Type": false
},
{
"fruit": " the watermelon is new",
"Type": false
}
],
"API": false,
"count": 0
},
{
"ID": "IM00N-203948lHBFNPO",
"data": [
{
"fruit": "apple",
"provider": "walmart",
"availability": "True",
"Type": false
},
{
"fruit": " this is a tomato ",
"Type": false
},
{
"fruit": "lemon",
"provider": "unknown",
"availability": "cotsco",
"Type": false
},
{
"fruit": " orange ",
"Type": false
},
{
"fruit": "banana",
"provider": "unknown",
"availability": "unknown",
"Type": false
}
],
"API": false,
}
]
我试图构建一个正则表达式,但这很困难,因为列表中每个子字典的元素都没有模式。正确的匹配和替换方法是什么
可以使用for循环修改数据:
如果数据的形状不同,因此某些条目没有
fruit
键,则可以捕获KeyError
或使用dict.get
相关问题 更多 >
编程相关推荐