【发布时间】:2022-01-26 16:35:18
【问题描述】:
我一直在努力尝试将平面表中的一些分层值放入特定的字典格式中。主要问题是我无法弄清楚如何将每个类别嵌套在相应的键中。
我有这个表(作为 pandas DataFrame),其中列将层次结构表示为数字: 该表有三列:
Level Name Description
0 Main ...
1 Sub main ...
2 Sub sub main ...
1 Sub main ...
2 Sub sub main ...
3 Sub sub sub main ...
0 Main_2 ...
. . .
预期的输出应该是这样的:
{
"nodes": [
{
"name": "main",
"description": "",
"owners":{
"users":["Sandra"]
},
"terms":[{
"name":"",
"description":""
}]
},
{
"nodes": [
{
"name": "sub_main",
"description": "",
"owners":{
"users":[""]
},
"terms":[{
"name":"",
"description":"",
"inherits":[""]
}]
},
{
"nodes": [
{
"name": "sub_sub_main",
"description": "",
"owners":{
"users":[""]
},
"terms":[{
"name":"",
"description":"",
"inherits":[""]
}]
},
]
}
]
}
]
}
我有一个包含多个层级的大表。有时只有 2 或 3 个级别,而在其他情况下,更多。但是,所有这些都井井有条。
另外,在inherits部分,上面一定有父母出现。
我正在尝试构建一个递归函数,但到目前为止我失败了。我检查了这些其他类似的问题:
- Build nested/hierarchical dictionary from irregular flat dictionary
- Access nested dictionary items via a list of keys?
有人知道类似这种方法的任何问题吗?或者你们中是否有人遇到过类似的问题?
提前谢谢大家!
【问题讨论】:
-
你能澄清一下输入表的格式是什么吗?它是熊猫数据框吗?是文本文件吗?还有什么?
-
这是一个 Excel 文件,但我将其加载为 pandas DataFrame。
标签: python pandas dataframe dictionary nested