本文实例讲述了Python实现提取XML内容并保存到Excel中的方法。分享给大家供大家参考,具体如下:
和田网站建设公司成都创新互联公司,和田网站设计制作,有大型网站制作公司丰富经验。已为和田成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的和田做网站的公司定做!最近做一个项目是解析XML文件,提取其中的chatid和lt、timestamp等信息,存到excel里。
1.解析xml,提取数据
使用python自带的xml.dom中的minidom(也可以用lxml)
xml文件如下:
minidom.parse()#解析文件,返回DOM对象
_get_documentElement()DOM是树形结构,获得了树形结构的根节点
getElementsByTagName()根据name查找根目录下的子节点
getAttribute()获取DOM节点的属性的值
提取的代码如下:
class get_xml(): #加载获取xml的文档对象 def __init__(self,address): #解析address文件,返回DOM对象,address为文件地址 self.doc = minidom.parse(address) #DOM是树形结构,_get_documentElement()获得了树形结构的根节点 self.root = self.doc._get_documentElement() #.getElementsByTagName(),根据name查找根目录下的子节点 self.httpSample_nodes = self.root.getElementsByTagName('httpSample') def getxmldata(self): data_list=[] j = -1 responseData_node = self.root.getElementsByTagName("responseData") for i in self.httpSample_nodes: j = j+1 #getAttribute(),获取DOM节点的属性的值 if i.getAttribute("lb") == "发送信息": a = 'chatId":"(.*?)"' elif i.getAttribute("lb") == "接收信息": # a = "chatId%3A%22(.*?)%22" a = "info%3A%22(.*?)%22" if (i.getAttribute("lb") == "发送信息" or i.getAttribute("lb") == "接收信息") and i.getAttribute("rc") == "200": try: #使用re包里面的方法,通过正则表达式提取数据 b = re.search(a, responseData_node[j].firstChild.data) if b is not None: d = b.group(1) print("d:",d) data_list.append((d, i.getAttribute("ts"), i.getAttribute("lt"),i.getAttribute("lb"))) except: pass return data_list
网站标题:Python实现提取XML内容并保存到Excel中的方法-创新互联
标题网址:https://www.cdcxhl.com/article36/dsidsg.html
成都网站建设公司_创新互联,为您提供网站维护、品牌网站建设、关键词优化、品牌网站制作、外贸建站、虚拟主机
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联