Python怎么将CSV数据转换为XML格式

9次阅读

Python 将 CSV 转 XML 可用 csv 模块和 xml.etree.ElementTree 实现:用 DictReader 读取为字典,ElementTree 构建节点并自动转义特殊字符,空值处理为留空标签或 ”N/A”,pandas 适用于复杂映射与美化输出。

Python 怎么将 CSV 数据转换为 XML 格式

Python 将 CSV 数据转换为 XML 格式,核心是读取 CSV 内容、按行构造 XML 结构、写入文件。关键在于合理设计 XML 标签名、处理特殊字符(如 & 等)、保持数据完整性。

csv 模块读取 + xml.etree.ElementTree 生成 XML

这是最轻量、无需额外安装包的方式,适合结构清晰的 CSV 文件。

  • csv.DictReader 逐行读取,每行自动转为字典,键为列名,值为对应字段
  • xml.etree.ElementTree 创建根节点(如),再为每行添加子节点(如),内部嵌套字段节点(如Alice
  • 注意:ElementTree 会自动转义 >& 等字符,无需手动处理
  • 最后调用 tree.write("output.xml", encoding="utf-8", xml_declaration=True) 保存

处理含空值、引号或换行符的 CSV

真实 CSV 常有缺失值、多行文本或带双引号的字段,需稍作预处理。

  • DictReader 默认能正确解析被双引号包裹的含逗号 / 换行字段,无需额外操作
  • 空值(如空字符串或 None)可统一转为"N/A" 或留空标签(),避免生成 这种冗余结构
  • 若某字段含非法 XML 字符(如控制字符),可用正则清理:re.sub(r'[x00-x08x0bx0cx0e-x1f]', '', text)

用 pandas + 自定义 XML 生成函数(适合复杂映射)

当需要重命名字段、合并列、添加固定属性或分层结构时,pandas 更灵活。

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

  • 先用 pd.read_csv("input.csv") 加载,可指定 dtype=str 避免数字被误转
  • 遍历 DataFrame 行:for _, row in df.iterrows():,手动构建每个……,支持动态属性和嵌套逻辑
  • 例如:把 first_namelast_name拼成John Doe
  • 最后用 xml.dom.minidom 美化输出(非必需,但提升可读性)

基本上就这些。不用第三方库就能搞定,重点是理清 CSV 列与 XML 节点的对应关系,再注意 编码 和特殊字符即可。

星耀云
版权声明:本站原创文章,由 星耀云 2026-01-01发表,共计978字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources