python读写将excel转换为xml_python将xml文件转换成excel文件

#coding=utf8

from xml.dom import minidom

from 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('

', '').replace('tab', '').\

replace('', '').replace('\n', '').replace('

', '')

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('

','').replace('tab','').replace('','').replace('\n','') \

.replace('

', '')

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('

', '').replace('tab', '').replace('', '').replace('\n', '')\

.replace('

','')

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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值