import json with open('EAWAG-SLUDGE.json', encoding='utf-8') as j: data = json.load(j) data.keys() #Find the half-life info_halflife = {} identifiers_halflife = {} for i in data['scenarios']: arr = i['additionalInformationCollection']['additionalInformation'] for ii in arr: identifiers_halflife[ii['id']] = ii['identifier'] if ii['identifier'] == 'halflife': info_halflife[ii['id']] = ii['data'] halflife_list = [] list_halflife = list(info_halflife.values()) for i in list_halflife: ii = i.split(';') halflife_list.append(ii[3]) print(halflife_list) print("Number of half-life: {}\n".format(len(halflife_list))) #Find the rate constant info_rateconstant = {} identifiers_rateconstant = {} for i in data['scenarios']: arr = i['additionalInformationCollection']['additionalInformation'] for ii in arr: identifiers_rateconstant[ii['id']] = ii['identifier'] if ii['identifier'] == 'rateconstant': info_rateconstant[ii['id']] = ii['data'] rateconstant_list = [] list_rateconstant = list(info_rateconstant.values()) for i in list_rateconstant: ii = i.split(';') rateconstant_list.append(ii[3]) print(rateconstant_list) print("Number of rate constant: {}\n".format(len(rateconstant_list))) # res = {} # identifier_to_detect ={'rateconstant', 'halflife'} # for k, v in identifiers_rateconstant.items(): # res[k] = set() # for i in identifier_to_detect: # if i in v: # res[k].add(i) # # groupby_res = {} # for k, v in res.items(): # if tuple(v) not in groupby_res: # groupby_res[tuple(v)] = [] # groupby_res[tuple(v)].append(k) # print({k: len(v) for k, v in groupby_res.items()}) # groupby_res[('rateconstant', )]