这是我正在使用的数据:
snmp-server view DenyAll iso excluded
snmp-server view iso_view iso included
snmp-server view Cust_View interfaces included
snmp-server view Cust_View ifMIB included
我正尝试将其转换为YML格式,如下所示:
snmp-server:
view:
Cust_View:
- "interfaces included"
- "ifMIB included"
- "etc etc etc"
DenyAll: "iso included"
iso_view: "iso included"
我尝试遍历数据集,将每个数据片段分隔为一个空格,并将列表中的前两个元素用作YML文件中的“键”,并将列表中的其余元素用作值。
但是,这不适合我可能想要以相同方式格式化的任何其他数据集。
我不是在寻找要为我编写的代码。我正在寻找有关如何执行此操作并将其输出到所需结构的想法,我对YML等的编写非常好,我唯一努力的部分是数据格式
最佳答案
您需要为任务使用Trie(前缀树)。阅读每一行,用空格隔开单词,然后将其插入到Trie中。然后从trie的根部开始,尝试按预先遍历的方式打印元素,并在每个级别使用制表符(或空格)进行缩进。
看起来您还需要按字母顺序对数据进行打印。您可以通过按顺序将节点插入特里来实现此目的。