我文档的每一行都包含一个信息字典:
{'O':34, 'D': 75, '2015-01':{'c':30,'f':90},'2016-01':{'c':100,'f':78,'r':90.5}}
预期是:
{'2015-01,c':30,'2015-01,f':90,'2016-01,c':100....}
我在 python 中试过这个:
for row in cursor:
d = dict((''.join([l,',',row[l].keys()]),row[l].values())
for l in row.keys - ['O','D'])
但是我得到了这个错误: 类型错误:序列项 2:预期的 str 实例,找到 dict_keys 请任何帮助。 谢谢
最佳答案
假设您的嵌套总是一层深,您可以执行以下操作:
d = {'O':34, 'D': 75, '2015':{'c':30,'f':90},'2016':{'c':100,'f':78,'r':90.5}}
def join_dict(d):
for k, v in d.items():
if isinstance(v, dict):
for k2, v2 in v.items():
yield '{},{}'.format(k, k2), v2
result = {k: v for k, v in join_dict(d)}
print(result)
# {'2016,f': 78, '2016,r': 90.5, '2016,c': 100, '2015,f': 90, '2015,c': 30}
关于python - 使用 join 在 python 中创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39852686/