待解决问题描述:
多个XML文件,具有相同的格式,如下:
<?xml version="1.0" encoding="UTF-8"?>
<test name="F000 ">
…
</test>
<test name="F001 ">
…
</test>
<test name="F002 ">
…
</test>
…
不同xml文件中的<test>标签个数不同。有的50个,有的80个。
代码目标:
提取test 标签的 name 属性值,将这些值保存到excel文件中,并为每个值加上日期。生成表格如下:
F000 |
1月6日 |
F001 |
1月6日 |
F002 |
1月6日 |
… |
1月6日 |
说明:每个xml文件会生成一个如上的表格。将所有这些表格保存到同一个excel文件中。
解决步骤:
1. 解析xml
方法一:使用python API SAX .
http://www.runoob.com/python/python-xml.html
方法二:使用xml.dom
Dom 方法将xml文件一次性读取,保存在一个树形结构中,读取文档内容很方便。
2. csv module写excel文件
很多码友分享可以用csv模块处理,将提取的文件写入csv文件,excel会将csv格式转换成表格。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
testname = [‘F000’,’F001’,’F002’]
import csv
#write to file
with open('report.csv', 'w') as csvfile:
spamwriter = csv.writer(csvfile,dialect='excel')
for item in testname:
spamwriter.writerow(item)