我想我很接近,但在这件事上绕圈子。我有一个从JSON导入的Python字典。原始数据太多了,不能放在这里。代码的工作方式与我想要的一样,并打印出我想要的内容,只是它只返回字典中的最后一个值。我该如何修改它以返回所有值并打印它在这里的显示方式?最后,我想把这些数据作为一个条目添加到数据库中。在
代码:
text = json.loads(content)
a = {}
def extract(DictIn, Dictout):
for key, value in DictIn.iteritems():
if isinstance(value, dict):
extract(value, Dictout)
elif isinstance(value, list):
for i in value:
extract(i, Dictout)
else:
Dictout[key] = value
extract(text, a)
for k, v in a.iteritems():
print k, ":", v
结果应该如下所示,但是有大约40个条目。当前代码只显示最后一个条目:
^{pr2}$
问题出在你的
Dictout[key] = value
在Python字典中,
keys
是unique
假设
我猜在for循环中,您是现有的
overwriting value
的key
,这就是为什么只存储最后一个条目!。在尝试更改数据结构,例如
^{pr2}$list of dictionaries
,这样您的输出可能看起来像相关问题 更多 >
编程相关推荐