如何解决如何在嵌套结构中存储层次信息
希望你们都做得很好!
以下是从文档中提取的 .TXT 文件。 我希望阅读包含以下内容的文本文件:
1 Main Heading 1
1.1 Sub-heading 1
1.2 Sub-heading 2
2 Main Heading 2
2.1 Sub-heading 1
2.1.1 Sub-Sub-heading 1
2.1.2 Sub-Sub-heading 2
阅读后,我想动态地将它存储到 Python 字典中,即嵌套列表如下:
{"file name": { "Main Heading 1": { "Sub-heading 1" : [],"Sub-heading 2" : [] }},{ "Main Heading 2": { "Sub-heading 1": [ "Sub-Sub-heading 1","Sub-Sub-heading 2" ] } } }
以上不是一个固定的结构,可以是动态的不同文件,我将在一个循环中进一步自动化这个过程。 我是嵌套字典的新手,并且坚持使用“.txt 文件 -> JSON”转换阶段。在这方面的任何帮助都会非常有帮助。谢谢!!
解决方法
import json
toc = """1 Main Heading 1
1.1 Sub-heading 1
1.2 Sub-heading 2
2 Main Heading 2
2.1 Sub-heading 1
2.1.1 Sub-Sub-heading 1
2.1.2 Sub-Sub-heading 2"""
myfile = 'myfile'
data = {myfile:{}}
for line in toc.splitlines():
levels,title = line.split(' ',maxsplit=1)
levels = levels.rstrip('.').split('.')
if len(levels) == 1:
heading = title
data[myfile][heading] = {}
elif len(levels) == 2:
sub_heading = title
data[myfile][heading][sub_heading] = []
if len(levels) == 3:
data[myfile][heading][sub_heading].append(title)
print(json.dumps(data,indent=4))
输出
{
"myfile": {
"Main Heading 1": {
"Sub-heading 1": [],"Sub-heading 2": []
},"Main Heading 2": {
"Sub-heading 1": [
"Sub-Sub-heading 1","Sub-Sub-heading 2"
]
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。