最简单方法是用python内置模块xml.etree.ElementTree和csv解析XML并写入csv文件。1. 读取data.xml中的record节点;2. 提取首个record的子标签作为表头;3. 遍历所有record,将文本内容按行写入output.csv;4. 结果生成含name,age,city三列的CSV文件。适用于结构扁平、无深层嵌套的XML,需注意编码设置与标签顺序一致性。

将XML数据转换为CSV格式最简单的方法是使用Python配合内置的xml.etree.ElementTree和csv模块。这种方法无需安装额外库,适合大多数结构清晰的XML文件。
1. 准备简单的XML示例
假设你有一个名为data.xml的文件,内容如下:
<?xml version=”1.0″?>
<root>
<record>
<name>张三</name>
<age>28</age>
<city>北京</city>
</record>
<record>
<name>李四</name>
<age>32</age>
<city>上海</city>
</record>
</root>
2. 使用python脚本转换为CSV
创建一个Python脚本xml_to_csv.py:
import xml.etree.ElementTree as ET<br> import csv<br><br><h1>读取XML文件</h1><p>tree = ET.parse('data.xml') root = tree.getroot()</p><h1>打开CSV文件准备写入</h1><p>with open('output.csv', 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f)</p><pre class='brush:php;toolbar:false;'># 写入表头(假设所有record结构一致) header = [child.tag for child in root[0]] writer.writerow(header) # 遍历每个record节点 for record in root: row = [child.text for child in record] writer.writerow(row)
3. 转换结果
运行脚本后生成的output.csv内容如下:
name,age,city
张三,28,北京
李四,32,上海
4. 注意事项与适用场景
这种方法适用于以下情况:
- XML结构扁平,每条记录标签一致
- 没有深层嵌套或多层子元素
- 数据量不大,适合一次性处理
如果XML结构复杂(如多层嵌套、属性混合),建议先用脚本提取关键字段或使用pandas做中间处理。
基本上就这些,不复杂但容易忽略细节,比如编码和标签顺序。