这是我正在使用的数据:

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的根部开始,尝试按预先遍历的方式打印元素,并在每个级别使用制表符(或空格)进行缩进。

看起来您还需要按字母顺序对数据进行打印。您可以通过按顺序将节点插入特里来实现此目的。

07-27 19:16