首页 > 编程知识 正文

python将xml文件转换成excel文件

时间:2023-05-05 15:25:41 阅读:284294 作者:4799

#coding=utf8from xml.dom import minidomfrom excute_excel import executeExel #自己写的模块class Xml(): def getxml(self): #打开xml文档 dom = minidom.parse(r'testsuite-deep.xml') #用于得到dom对象的文档元素,并把获得的对象给root root = dom.documentElement #可以使用getElementsByTagName方法获取元素 itemlist = root.getElementsByTagName('testcase') row =1 for i in itemlist: #getAttribute方法可以获得元素的属性所对应的值 name= i.getAttribute('name') actions = i.getElementsByTagName('actions') expectedresults = i.getElementsByTagName('expectedresults') preconditions = i.getElementsByTagName('preconditions') plist = [] for pre in preconditions: # childNodes返回子节点的一个列表,如果子节点有值,则进行如下操作 if len(pre.childNodes)>0: # 获取第一个子节点的数据 p = str(pre.childNodes[0].data) #将输出的一些字符清楚 pre = p.replace('<p>', '').replace('tab', '').replace('</p>', '').replace('n', '').replace('<br />', '') plist.append(pre) precontent = 'n'.join(plist) print(precontent) list = [] for action in actions: #childNodes返回子节点的一个列表,如果子节点有值,则进行如下操作 if len(action.childNodes)>0: #获取第一个子节点的数据 a = str(action.childNodes[0].data) a = a.replace('<p>','').replace('tab','').replace('</p>','').replace('n','') .replace('<br />', '') list.append(a) else: pass step = 'n'.join(list) elist = [] for expectedresult in expectedresults: if len(expectedresult.childNodes)>0: m = str(expectedresult.childNodes[0].data) m = m.replace('<p>', '').replace('tab', '').replace('</p>', '').replace('n', '') .replace('<br />','') elist.append(m) else: pass expect = 'n'.join(elist) try: excel = executeExel('web.xls') excel.write_exist_excel_result(row, 0,precontent) excel.write_exist_excel_result(row,2,name) excel.write_exist_excel_result(row, 3, step) excel.write_exist_excel_result(row, 4, expect) row += 1 except Exception as e: print(e)if __name__ == '__main__': xm = Xml() xm.getxml()

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。