亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python實現將xml導入至excel

2020-01-04 17:56:18
字體:
來源:轉載
供稿:網友

本文給大家講解的是使用Python的Testlink實現將實現將xml導入至excel表格中,方法非常的簡單,另外附上其他小伙伴的方法,有需要的童鞋們可以參考下。

最近在使用Testlink時,發現導入的用例是xml格式,且沒有合適的工具轉成excel格式,xml使用excel打開顯示的東西也太多,網上也有相關工具轉成csv格式的,結果也不合人意。

那求人不如爾己,自己寫一個吧

需要用到的模塊有:xml.dom.minidom(python自帶)、xlwt

使用版本:

python:2.7.5

xlwt:1.0.0

一、先分析Testlink XML格式:

Python實現將xml導入至excel

這是一個有兩級testusuit的典型的testlink用例結構,我們只需要取testsuite name,testcase name,preconditions,actions,expectedresults

二、程序如下:
 

  1. #coding:utf-8 
  2. ''
  3. Created on 2015-8-20 
  4.  
  5. @author: Administrator 
  6. ''
  7. ''
  8. ''
  9. import xml.etree.cElementTree as ET 
  10. import xml.dom.minidom as xx 
  11. import os,xlwt,datetime 
  12.  
  13. workbook=xlwt.Workbook(encoding="utf-8"
  14.  
  15. booksheet=workbook.add_sheet(u'sheet_1'
  16. booksheet.col(0).width= 5120 
  17. booksheet.col(1).width= 5120 
  18. booksheet.col(2).width= 5120 
  19. booksheet.col(3).width= 5120 
  20. booksheet.col(4).width= 5120 
  21. booksheet.col(5).width= 5120 
  22.  
  23. dom=xx.parse(r'D://Python27/test.xml'
  24. root = dom.documentElement 
  25. row=1 
  26. col=1 
  27.  
  28. borders=xlwt.Borders() 
  29. borders.left=1 
  30. borders.right=1 
  31. borders.top=1 
  32. borders.bottom=1 
  33.  
  34.  
  35. style = xlwt.easyxf('align: wrap on,vert centre, horiz center') #自動換行、水平居中、垂直居中 
  36. #設置標題的格式,字體方宋、加粗、背景色:菊黃 
  37. #測試項的標題 
  38.  
  39. title=xlwt.easyxf(u'font:name 仿宋,height 240 ,colour_index black, bold on, italic off; align: wrap on, vert centre, horiz center;pattern: pattern solid, fore_colour light_orange;'
  40. item='測試項' 
  41. Subitem='測試分項' 
  42. CaseTitle='測試用例標題' 
  43. Condition='預置條件' 
  44. actions='操作步驟' 
  45. Result='預期結果' 
  46. booksheet.write(0,0,item,title) 
  47. booksheet.write(0,1,Subitem,title) 
  48. booksheet.write(0,2,CaseTitle,title) 
  49. booksheet.write(0,3,Condition,title) 
  50. booksheet.write(0,4,actions,title) 
  51. booksheet.write(0,5,Result,title) 
  52. #凍結首行 
  53. booksheet.panes_frozen=True 
  54. booksheet.horz_split_pos= 1 
  55.  
  56.  
  57. #一級目錄 
  58. for i in root.childNodes: 
  59. testsuite=i.getAttribute('name').strip() 
  60. #print testsuite 
  61. #print testsuite 
  62. ''
  63. 寫測試項 
  64. ''
  65. print "row is :",row 
  66. booksheet.write(row,col,testsuite,style) 
  67.  
  68.  
  69. #二級目錄 
  70. for dd in i.childNodes: 
  71. print " %s" % dd.getAttribute('name'
  72. testsuite2=dd.getAttribute('name'
  73. if not dd.getElementsByTagName('testcase'): 
  74. print "Testcase is %s" % testsuite2 
  75. row=row+1 
  76. booksheet.write(row,2,testsuite2,style) #寫測試分項 
  77.  
  78. row=row+1 
  79.  
  80. booksheet.write(row,1,testsuite2,style) 
  81. itemlist=dd.getElementsByTagName('testcase'
  82.  
  83. for subb in itemlist: 
  84. #print " %s" % subb.getAttribute('name') 
  85. testcase=subb.getAttribute('name'
  86.  
  87. row=row+1 
  88. booksheet.write(row,2,testcase,style) 
  89.  
  90. ilist=subb.getElementsByTagName('preconditions'
  91. for ii in ilist: 
  92. preconditions=ii.firstChild.data.replace("<br />"," "
  93. col=col+1 
  94. booksheet.write(row,3,preconditions,style) 
  95. steplist=subb.getElementsByTagName('actions'
  96. #print steplist 
  97. for step in steplist: 
  98. actions=step.firstChild.data.replace("<br />"," "
  99. col=col+1 
  100. booksheet.write(row,4,actions,style) 
  101. #print "測試步驟:",steplist[0].firstChild.data.replace("<br />"," ") 
  102. expectlist=subb.getElementsByTagName('expectedresults'
  103.  
  104. for expect in expectlist: 
  105. result=expect.childNodes[0].nodeValue.replace("<br />","" ) 
  106. booksheet.write(row,5,result,style) 
  107.  
  108.  
  109. row=row+1 
  110.  
  111. workbook.save('demo.xls'

寫入excel的效果如下:

Python實現將xml導入至excel

我們再來看個實例:

需要下載一個module:xlwt,如下是source code

 

 
  1. import xml.dom.minidom 
  2. import xlwt 
  3. import sys 
  4.  
  5. col = 0 
  6. row = 0 
  7.  
  8.  
  9. def handle_xml_report(xml_report, excel):  
  10. problems = xml_report.getElementsByTagName("problem"
  11. handle_problems(problems, excel) 
  12.  
  13.  
  14. def handle_problems(problems, excel): 
  15. for problem in problems: 
  16. handle_problem(problem, excel) 
  17.  
  18.  
  19. def handle_problem(problem, excel): 
  20. global row 
  21. global col 
  22. code = problem.getElementsByTagName("code")  
  23. file = problem.getElementsByTagName("file")  
  24. line = problem.getElementsByTagName("line")  
  25. message = problem.getElementsByTagName("message"
  26.  
  27. for node in code:  
  28. excel.write(row, col, node.firstChild.data) 
  29. col = col + 1 
  30. for node in file:  
  31. excel.write(row, col, node.firstChild.data)  
  32. col = col + 1 
  33. for node in line:  
  34. excel.write(row, col, node.firstChild.data)  
  35. col = col + 1 
  36. for node in message:  
  37. excel.write(row, col, node.firstChild.data)  
  38. col = col + 1 
  39. row = row+1 
  40. col = 0 
  41.  
  42. if __name__ == '__main__':  
  43. if(len(sys.argv) <= 1): 
  44. print ("usage: xml2xls src_file [dst_file]"
  45. exit(0) 
  46. #the 1st argument is XML report ; the 2nd is XLS report 
  47. if(len(sys.argv) == 2): 
  48. xls_report = sys.argv[1][:-3] + 'xls' 
  49. #if there are more than 2 arguments, only the 1st & 2nd make sense 
  50. else
  51. xls_report = sys.argv[2] 
  52. xmldoc = xml.dom.minidom.parse(sys.argv[1])  
  53. wb = xlwt.Workbook() 
  54. ws = wb.add_sheet('MOLint'
  55. ws.write(row, col, 'Error Code'
  56. col = col + 1 
  57. ws.write(row, col, 'file'
  58. col = col + 1 
  59. ws.write(row, col, 'line')  
  60. col = col + 1 
  61. ws.write(row, col, 'Description')  
  62. row = row + 1 
  63. col = 0 
  64. handle_xml_report(xmldoc, ws) 
  65. wb.save(xls_report) 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产综合新一区| 在线电影中文日韩| 国产成人免费av电影| 国产亚洲一区精品| 中文欧美在线视频| 97超碰国产精品女人人人爽| 日韩在线视频免费观看高清中文| 亚洲tv在线观看| 欧美中文字幕在线| 亚洲成人国产精品| 国产欧美一区二区三区久久| 国产日产久久高清欧美一区| 亚洲欧美激情在线视频| 欧美极品少妇xxxxⅹ裸体艺术| 日韩影视在线观看| 久久精品国产v日韩v亚洲| 亚洲在线一区二区| 国产精品久久久91| 久久福利视频网| 日韩精品免费看| 国产欧美久久久久久| 久久久日本电影| 亚洲人精选亚洲人成在线| 亚洲性生活视频| 久热爱精品视频线路一| 国产精品久在线观看| 欧美猛交ⅹxxx乱大交视频| 国产美女91呻吟求| 国产精品扒开腿爽爽爽视频| 日韩理论片久久| 爽爽爽爽爽爽爽成人免费观看| 成人在线免费观看视视频| 按摩亚洲人久久| 国产精品69精品一区二区三区| 欧美成人四级hd版| 中国人与牲禽动交精品| 亚洲高清不卡av| 久久69精品久久久久久久电影好| 深夜精品寂寞黄网站在线观看| 国产这里只有精品| 欧美理论电影在线观看| 亚洲老司机av| 日韩在线观看免费网站| 国产成人avxxxxx在线看| 欧美精品在线免费观看| 国产精品私拍pans大尺度在线| 日本久久久久久久| 国产精品第10页| 清纯唯美日韩制服另类| 成人女保姆的销魂服务| 国产aⅴ夜夜欢一区二区三区| 成人激情视频在线播放| 亚洲视频综合网| 国产一区二区免费| 91性高湖久久久久久久久_久久99| 福利视频一区二区| 中文字幕日韩精品在线观看| 久久久精品网站| 91久久综合亚洲鲁鲁五月天| 成人亚洲欧美一区二区三区| 亚洲欧美国产va在线影院| 亚洲国产日韩欧美综合久久| 国产精品黄页免费高清在线观看| 91精品视频在线免费观看| 91精品国产乱码久久久久久蜜臀| 亚洲国产成人在线视频| 青草青草久热精品视频在线观看| 青青草国产精品一区二区| 日韩视频在线免费观看| 久久综合国产精品台湾中文娱乐网| 一本一本久久a久久精品牛牛影视| 午夜精品一区二区三区在线| 欧美性xxxx极品hd欧美风情| 日韩色av导航| 亚洲精品suv精品一区二区| 久久精品视频导航| 国产精品丝袜久久久久久高清| 亚洲色图狂野欧美| 日韩一区视频在线| 亚洲乱码av中文一区二区| 中文字幕成人精品久久不卡| 久久韩剧网电视剧| 亚洲自拍偷拍色片视频| 国产精品专区h在线观看| 国产精品99免视看9| 亚洲欧美成人网| 日韩在线观看免费| 精品中文字幕在线| 日韩欧美极品在线观看| 国产欧美一区二区三区久久人妖| 欧美日韩一区二区在线播放| 国产精品久久久久999| 亚洲福利视频网| 国产乱人伦真实精品视频| 日韩欧美精品网站| 色诱女教师一区二区三区| 日韩在线观看免费网站| 国产成人精品综合久久久| 日韩av大片在线| 日韩电影中文 亚洲精品乱码| 欧美床上激情在线观看| 国模私拍视频一区| 日本一区二区在线播放| 久久99久久久久久久噜噜| 日本sm极度另类视频| 欧美制服第一页| 久久6免费高清热精品| 亚洲人精品午夜在线观看| 国产香蕉一区二区三区在线视频| 国产视频在线观看一区二区| 国产精品嫩草影院久久久| 4438全国亚洲精品在线观看视频| 日本久久久久久| 欧美另类高清videos| 日韩福利在线播放| 国产精品7m视频| 不卡av在线网站| 午夜剧场成人观在线视频免费观看| 日韩精品在线观看网站| 国产精品欧美激情在线播放| 久久久久国产一区二区三区| 97精品国产97久久久久久免费| 亚洲白拍色综合图区| 日韩av免费在线观看| 久久av在线看| 国产成人精品视频在线| 大量国产精品视频| 日韩中文字幕网| 国产91在线播放九色快色| 久久中文久久字幕| 色噜噜久久综合伊人一本| 日日狠狠久久偷偷四色综合免费| 日韩欧美综合在线视频| 91精品国产自产在线老师啪| 欧美综合在线观看| 国a精品视频大全| 欧美有码在线观看视频| 亚洲自拍偷拍网址| 91精品久久久久久久久久| 亚洲人成啪啪网站| 亚洲欧美精品一区| 亚洲欧洲中文天堂| 在线午夜精品自拍| 国产精品一二三视频| 欧洲成人免费aa| 亚洲免费视频一区二区| www.国产一区| 亚洲欧美一区二区激情| 色噜噜狠狠狠综合曰曰曰| 中文字幕在线视频日韩| 国产精品毛片a∨一区二区三区|国| 97av在线影院| 国产精品久久久久久婷婷天堂| 精品女同一区二区三区在线播放| 成人淫片在线看| 欧美激情亚洲自拍| 欧美极品少妇与黑人| 全色精品综合影院| 欧美一级片一区| 亚洲va久久久噜噜噜久久天堂| 久久久噜噜噜久久久| 日韩av片永久免费网站| 日韩中文字幕在线观看| 国产成人在线视频|