我正在尝试从旧字典创建一个新字典,以便只获取将来在df中新创建的值。但是我创建的函数总是返回相同的key+值。你知道吗
def load_data():
with open('./data/awards.json', 'r') as file:
json_file = json.load(file)
events_dict = {}
for data_raw in json_file:
events_dict['event'] = (data_raw['Event'])
#form categories_list
categories_list = []
for all_data in data_raw['Data']:
for awards_data in all_data['nomineesWidgetModel']['eventEditionSummary']['awards']:
#check if it's a premium category
if categories_data['isPremiumCategory'] == True:
for categories_data in awards_data['categories']:
categories = {}
categories['category_name'] = (categories_data['categoryName'])
#form nomination_list
nomination_list = []
for nominations_data in categories_data['nominations']:
primary_nominees = nominations_data['primaryNominees']
if len(primary_nominees)>0:
nominee1 = primary_nominees[0]['name']
secondary_nominees = nominations_data['secondaryNominees']
if len(secondary_nominees)>0:
nominee2 = secondary_nominees[0]['name']
nomination_list.append([nominee1, nominee2, nominations_data['isWinner']])
categories['nominations'] = nomination_list
categories_list.append(categories)
events_dict['categories'] = categories_list
return events_dict
我的目的是获得每一个奖项的类别,提名,如果它是一个赢家或没有。我现在得到的是同一事件的11倍。你知道吗
我试过改变缩进,先把dict附加到一个列表中,但是没有任何帮助。。。我确信这是一个非常基本的东西,但是我对Python还很陌生,没有看到我的错误。你知道吗
有可能这样做吗?你知道吗
你的逻辑有点错误。您想在循环中初始化您的
events_dict = {}
,然后您可以将其附加到一个列表中,我将其命名为results
。你知道吗相关问题 更多 >
编程相关推荐