python之xml文件处理的例子-问题描述及解决方法

本文介绍了在Python中处理XML文件,提取特定标签属性值并保存到Excel的过程。遇到的问题包括:中文编码错误、Excel中文乱码和文件生成后多一行空白。通过使用SAX或xml.dom解析XML,用csv模块写入Excel,以及调整编码方式解决了编码问题。对于Excel乱码,通过特定方法在Excel中显示正确。另外,还讨论了处理路径和遍历文件夹时需要注意的事项。
摘要由CSDN通过智能技术生成

待解决问题描述:

多个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)                                                                                                                                                                                                                   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值