从锯齿状的Excel文件

时间:2018-04-17 18:39:48

标签: python dictionary recursion nested

我正在尝试从锯齿状的Excel文件构建嵌套字典(图片在这里:

enter image description here

),我正在尝试添加更多“孩子”:

dict = {'levelA': {'levelA1': 'levelA11', 'LevelA2': 'LevelA21'},
'levelB': {'levelB1': 'levelB11'}, 
'levelC': {'levelC1': 'levelC12'}}

我想找到以下值:

"levelA21"

并将其替换为以下形式的字典:

['levelA21']['levelA211'] = "value"

我试过了:

dict = {'levelA1': ["value1",  "value"],
   "LevelB1": ["value77", "something"] }

(错误),

"value" in [x for v in dict.values() for x in v]

这是真的。

我的代码处理合并的xls单元格,并从空单元格中删除NoneType。

所以在找到“levelA21”的dict.value()实例后,我可以用另一个嵌套级别替换它,其中key =“level21”,item =“levelA211”和value =“value”?

另外,我正在迭代地删除使用过的键和项目(前两列)。

我想我应该从最深处(最右边)从右到左递归地构建这个并且在我去的时候合并,但是我无法理解它。

很高兴完全分享代码类;它记录得很好。

1 个答案:

答案 0 :(得分:0)

也许我可以通过使用json文件构建嵌套字典的链接获得一些积分......

http://ohuiginn.net/mt/2010/07/nested_dictionaries_in_python.html

Multi-level defaultdict with variable depth?