您的位置:首页 > 编程语言 > Python开发

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

2014-04-08 19:00 627 查看
需要下载一个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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: