首先使用ElementTree解析XML文件提取订单数据,再通过pandas将结构化数据导出为Excel表格。示例代码包含读取order节点的id属性及customer、product等字段,处理后存入DataFrame并生成output.xlsx文件,支持异常处理与扩展,便于数据查看与分析。

处理数据时,经常需要把 XML 文件转换成 Excel 表格,便于查看和分析。Python 凭借其强大的库支持,能轻松完成这项任务。下面是一个实用、清晰的脚本,帮助程序员快速实现 XML 到 Excel 的转换。
解析XML结构
XML 是一种树形结构的数据格式,通常包含标签、属性和文本内容。在转换前,先了解数据结构很重要。例如,以下是一个简单的订单数据 XML:
我们的目标是将每个 order 转为一行,字段包括 id、customer、product、amount 和 price。
立即学习“Python免费学习笔记(深入)”;
使用ElementTree解析XML
Python 内置的 xml.etree.ElementTree 模块非常适合读取和遍历 XML 数据。通过它,可以提取每个节点的信息。
示例代码:
import xml.etree.ElementTree as ETdef parse_xml(file_path):
tree = ET.parse(file_path)
root = tree.getroot()
data = []
for order in root.findall('order'):
row = {
'ID': order.get('id'),
'Customer': order.find('customer').text,
'Product': order.find('product').text,
'Amount': order.find('amount').text,
'Price': order.find('price').text
}
data.append(row)
return data
导出为Excel文件
使用 pandas 库可以把结构化数据快速写入 Excel。安装命令:pip install pandas openpyxl
继续上面的代码:
import pandas as pddef xml_to_excel(xml_file, excel_file):
data = parse_xml(xml_file)
df = pd.DataFrame(data)
df.to_excel(excel_file, index=False)
print(f"已成功导出到 {excel_file}")
使用示例
xml_to_excel('orders.xml', 'output.xlsx')
运行后会生成一个 output.xlsx 文件,包含所有订单信息,表头清晰,适合进一步处理。
注意事项与扩展建议
实际项目中,XML 结构可能更复杂,比如嵌套多层或缺失字段。建议加入异常处理:
try:customer = order.find('customer').text if order.find('customer') is not None else ''
except AttributeError:
customer = ''
也可以增加对多个子节点的支持,或者根据需要筛选特定数据。
基本上就这些。掌握这个脚本,能大幅提升日常数据清洗和迁移效率。










