如何用Python将扁平的CSV转换为层级化的XML

admin 百科 11
Python可用xml.etree.ElementTree将扁平CSV转为层级XML:先按country、province、city排序,再逐行构建嵌套节点,用字典缓存已创建的父节点,最后用minidom美化输出。

如何用Python将扁平的CSV转换为层级化的XML-第1张图片-佛山资讯网

用Python将扁平CSV转为层级XML,关键在于明确数据的层级关系,并用xml.etree.ElementTreelxml逐层构建节点。不需要外部库也能完成,但需提前设计好XML结构。

明确CSV字段与XML层级的映射关系

扁平CSV本身不含嵌套信息,所以必须根据业务逻辑定义“哪一列代表父级”、“哪些列属于同一子节点”。例如:

  • CSV含列:country,province,city,population
  • 期望XML结构:根为<countries></countries>,下分<country></country><province></province><city></city>(含population属性或子元素)

若CSV中存在重复的countryprovince,说明它们是上级分组依据,需去重并按顺序嵌套。

用ElementTree逐步构建层级结构

推荐使用标准库xml.etree.ElementTree,避免依赖第三方。核心思路是:先建根,再对每行数据,逐级查找或创建对应层级的节点(如不存在就新建),最后追加叶子节点。

立即学习“Python免费学习笔记(深入)”;

标签: python 字节 csv 报错提示 标准库

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~