要将XML输入文件转换为CSV输出文件,可以使用Python的xml.etree.ElementTree
模块来解析XML,并使用csv
模块来写入CSV文件。以下是一个详细的示例代码,展示了如何实现这一转换:
假设我们有一个XML文件input.xml
,内容如下:
<data>
<record>
<name>John Doe</name>
<age>30</age>
<email>john.doe@example.com</email>
</record>
<record>
<name>Jane Smith</name>
<age>25</age>
<email>jane.smith@example.com</email>
</record>
</data>
我们希望将其转换为CSV文件output.csv
,内容如下:
name,age,email
John Doe,30,john.doe@example.com
Jane Smith,25,jane.smith@example.com
以下是实现这一转换的Python代码:
import xml.etree.ElementTree as ET
import csv
# 解析XML文件
tree = ET.parse('input.xml')
root = tree.getroot()
# 打开CSV文件进行写入
with open('output.csv', 'w', newline='', encoding='utf-8') as csvfile:
csvwriter = csv.writer(csvfile)
# 写入CSV标题行
header = [elem.tag for elem in root[0]]
csvwriter.writerow(header)
# 遍历XML记录并写入CSV文件
for record in root:
row = [elem.text for elem in record]
csvwriter.writerow(row)
print("XML to CSV conversion completed successfully.")
ElementTree
模块解析XML文件。csv
模块创建并写入CSV文件。<record>
元素,提取子元素的文本内容,并写入CSV文件。utf-8
)。通过上述方法,可以有效地将XML文件转换为CSV文件,并处理常见的转换问题。
领取专属 10元无门槛券
手把手带您无忧上云