import pickle from pprint import pprint """ with open('./KB_abs_convivio.pickle', 'rb') as infile: kb1 = pickle.load(infile) print(len(kb1)) with open('./KB_abs_monarchia.pickle', 'rb') as infile: kb2 = pickle.load(infile) print(len(kb2)) def merge_dicts(iter_dict): merged = {} for i, dict in enumerate(iter_dict): if i == 0: merged = iter_dict[i] continue else: for k, v in iter_dict[i].items(): if k not in merged.keys(): merged[k] = v return merged merged = merge_dicts([kb1, kb2]) with open('./KB_abs_merged.pickle', 'wb') as infile: pickle.dump(merged, infile) from pprint import pprint pprint(merged['Giles_of_Rome']) """ with open('knowledge_base/KB_abs_merged.pickle', 'rb') as infile: kb = pickle.load(infile) reversed_dict = {} for key in kb.keys(): name_list = kb[key]['names'] to_add = {'name':'None', 'birth':'None', 'abstract':'None'} for name in name_list: to_add['name'] = key to_add['birth'] = kb[key]['birth'] to_add['abstract'] = kb[key]['abstract'] reversed_dict[name] = to_add print(len(reversed_dict)) with open('knowledge_base/KB_abs_reversed.pickle', 'wb') as outfile: pickle.dump(reversed_dict, outfile)