繁体   English   中英

获取嵌套字典的所有键

[英]Get all the keys of a nested dict

使用 xmltodict 我设法从 dict 中的 xml 获取我的代码,现在我想创建一个 excel。 在这个excel中,一个值的标题将是所有的父母(字典中的键)。 例如:

dict = {"name":"Pete", "last-name": "Pencil", "adres":{"street": "example1street", "number":"5", "roommate":{"gender":"male"}}}

值男性将有标题:adres/roommate/gender。

这是一种按照您的问题提出的方式组织数据的方法:

d = {"name":"Pete", "last-name": "Pencil", "adres":{"street": "example1street", "number":"5", "roommate":{"gender":"male"}}}
print(d)
stack = [('', d)]
headerByValue = {}
while stack:
    name, top = stack.pop()
    if isinstance(top, dict):
        stack += (((name + '/' if name else '') + k, v) for k, v in top.items())
    else:
        headerByValue[name] = top

print(headerByValue)

输出:

{'adres/roommate/gender': 'male', 
'adres/number': '5', 
'adres/street': 'example1street', 
'last-name': 'Pencil', 
'name': 'Pete'}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM