python - 将 .CSV 文件转换为 .XML

标签 python xml csv

我有一个包含 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 />

最佳答案

我不会尝试逐行浏览 csv 文件。相反,我会首先尝试将其全部放入最逻辑的 python 数据结构中,然后继续操作它。

在我看来,最合乎逻辑的方法是创建一个字典列表,其中 CSV 中的每一行都是列表中作为字典的元素。之后,循环遍历列表元素并执行 xml 创建操作(我没有这方面的经验,所以如果您遇到问题,抱歉)

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

关于python - 将 .CSV 文件转换为 .XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40943208/

相关文章:

python - matplotlib 中的双圆环图

Python-字典状态和资本游戏

sql - LINQ to SQL 可以查询数据库服务器端的 XML 字段吗?

mysql 查询用于检查任一 csv 字符串中的匹配项

csv - 在 F# 中向 CsvProvider 类型添加新成员

python - 沿具有一些缺失行的 DataFrame 列进行平均

python - 图像在 Django 运行服务器上不以 HTML 呈现,但 HTML 在浏览器中工作

java - 处理 XML 时发生错误“无法加载类 [org.springframework.transaction.annotation.AnnotationTransactionAttributeSource]

c# - 如何找出 WCF SOAP XML 响应的反序列化中错误的确切位置?

php - 使用 fputcsv() 在 csv 文件的顶部插入一行?