【问题标题】:Convert a .CSV file into .XML将 .CSV 文件转换为 .XML
【发布时间】:2017-04-18 00:19:29
【问题描述】:

我有一个包含 8 列对的 .csv 文件,如下所示:

level_1,level_1_desc, level_2, level_2_desc, level_3, level_3_desc, level_4,level_4_desc

这表示一个层次结构或树结构,其中:

- Level 1
    - Level 2
        - Level 3
            - Level 4

我可以读取 .csv 文件的内容并将它们分配给 python 中的字典变量,就像字典一样。

我了解使用 Python 模块创建元素的基础知识 xml.etree.cElementTree

您可以在哪里创建一个全新的 .xml 文件。

我一直在试图弄清楚如何设置程序。

我的策略是:使用 for 循环创建所有级别 1 节点并为 .csv 建立索引,遍历文件的每一行并比较当前级别并将节点放置在该级别,然后继续下一个线。如果已经创建了上一级节点,则移动到下一级节点……以此类推。

最终结果应该是:

<root>
    <level1>
        <level2>
            <level3>
                <level4>A<level4 />
                <level4>B<level4 />
            <level3 />
        <level2 />
    <level1 />
<root />

【问题讨论】:

    标签: python xml csv


    【解决方案1】:

    我不会尝试逐行浏览 csv 文件。相反,我会先尝试将其全部放入最合乎逻辑的 Python 数据结构中,然后再进行操作。

    在我看来,最合乎逻辑的方法是制作一个字典列表,其中 CSV 中的每一行都是列表中的一个元素作为字典。之后,循环遍历列表元素并进行 xml-creation 的工作(我没有经验,所以如果你的问题在那里,对不起)

    如果您可以有一个更好的输入 CSV 示例,也许人们可以更好地回答它。

    【讨论】:

    • 谢谢。我最终使用这里找到的库来做到这一点。 docs.python.org/3/library/xml.html 当我发布问题时,我对 xml 和 JSON 生疏和无知,现在我已经使用这些 python 库解决了这个问题,即使用多个 for 循环和迭代..(xml 和 json)
    猜你喜欢
    • 2011-03-05
    • 2015-10-28
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多