Python将感兴趣的属性从JSON中过滤出来,并安全地放入新字典中



我有一个大json,有25个项目,每个项目有许多属性,如:状态,价格,描述,…我想创建一个新的dic与所有25项,但只有我感兴趣的属性我的解决方案是有效的,但我必须编写太多的手动代码:

small_dict = {}
for advert_pos, advert in enumerate(data['props']['pageProps']['searchResult']['advertSummaryList']['advertSummary'],0):
for _, attr in enumerate(advert['attributes']['attribute']):
if attr['name'] in 'HEADING':
small_dict[advert_pos] = {'HEADING': attr['values'], 'LOCATION': attr['values']} #here i need to list all attributes of interest
# here i need another block for every aot
for advert_pos, advert in enumerate(data['props']['pageProps']['searchResult']['advertSummaryList']['advertSummary'],0):
for _, attr in enumerate(advert['attributes']['attribute']):
if attr['name'] == 'LOCATION':
small_dict[advert_pos]['LOCATION'] = attr['values']

不是这里给出的代码,但我可能会使用一个生成器来遍历json并产生符合要求的值。

一个非常简单的解释是,生成器循环遍历json并yield暂停循环并返回该值,然后您从该位置再次继续获取下一个值,这对内存也更有效,因为您一次获得一个值。

这里有两个很好的地方开始使用生成器,我在大型json文件中使用生成器来循环遍历所有值。

发生器和良率信息

一些来自wiki的例子

最新更新