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

用Python将扁平CSV转为层级XML,关键在于明确数据的层级关系,并用xml.etree.ElementTree或lxml逐层构建节点。不需要外部库也能完成,但需提前设计好XML结构。
明确CSV字段与XML层级的映射关系
扁平CSV本身不含嵌套信息,所以必须根据业务逻辑定义“哪一列代表父级”、“哪些列属于同一子节点”。例如:
- CSV含列:
country,province,city,population - 期望XML结构:根为
<countries></countries>,下分<country></country>→<province></province>→<city></city>(含population属性或子元素)
若CSV中存在重复的country和province,说明它们是上级分组依据,需去重并按顺序嵌套。
用ElementTree逐步构建层级结构
推荐使用标准库xml.etree.ElementTree,避免依赖第三方。核心思路是:先建根,再对每行数据,逐级查找或创建对应层级的节点(如不存在就新建),最后追加叶子节点。
立即学习“Python免费学习笔记(深入)”;
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~