以下是我正在处理的数据:
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等,这是我唯一的一部分&m;挣扎的是数据的格式化
答案 0 :(得分:1)
您需要为任务使用Trie(前缀树)。读取每一行,按空格分隔单词,然后将其插入到trie中。然后从trie的根开始,尝试在预先遍历遍历中打印元素,并使用tab(或空格)在每个级别进行缩进。
看起来您还需要按字母顺序打印数据。您可以通过以排序顺序插入节点来实现此目的。