python xml转excel_一个python 脚本将XML文件转换到excel

需要下载一个module:xlwt,如下是source code

import xml.dom.minidom

import xlwt

import sys

col = 0

row = 0

def handle_xml_report(xml_report, excel):

problems = xml_report.getElementsByTagName("problem")

handle_problems(problems, excel)

def handle_problems(problems, excel):

for problem in problems:

handle_problem(problem, excel)

def handle_problem(problem, excel):

global row

global col

code = problem.getElementsByTagName("code")

file = problem.getElementsByTagName("file")

line = problem.getElementsByTagName("line")

message   = problem.getElementsByTagName("message")

for node in code:

excel.write(row, col, node.firstChild.data)

col = col + 1

for node in file:

excel.write(row, col, node.firstChild.data)

col = col + 1

for node in line:

excel.write(row, col, node.firstChild.data)

col = col + 1

for node in message:

excel.write(row, col, node.firstChild.data)

col = col + 1

row = row+1

col = 0

if __name__ == '__main__':     if(len(sys.argv) <= 1):         print ("usage: xml2xls src_file [dst_file]")         exit(0)     #the 1st argument is XML report ; the 2nd is XLS report     if(len(sys.argv) == 2):         xls_report = sys.argv[1][:-3] + 'xls'     #if there are more than 2 arguments, only the 1st & 2nd make sense     else:         xls_report = sys.argv[2]     xmldoc = xml.dom.minidom.parse(sys.argv[1])     wb = xlwt.Workbook()     ws = wb.add_sheet('MOLint')     ws.write(row, col, 'Error Code')     col = col + 1     ws.write(row, col, 'file')     col = col + 1        ws.write(row, col, 'line')        col = col + 1        ws.write(row, col, 'Description')     row = row + 1     col = 0     handle_xml_report(xmldoc, ws)     wb.save(xls_report)

你可能感兴趣的:(python,xml转excel)