xml转excel,可以用xml.etree.ElementTree去解析xml文件,然后用xlwt写入excel
示例:ConvConfig.xml
<Conveyor_Channel_1> <LoadFlag_BOOL>TRUE</LoadFlag_BOOL> <ConveyorNodeID>1200</ConveyorNodeID> <ChannelName>C12_00</ChannelName> <EncoderResolution_mmpercnt>0.007768</EncoderResolution_mmpercnt> <SenorPortName>ND8_IN_PORT_ES1</SenorPortName> <SensorBit>8</SensorBit> <DistT1toP1>56.25</DistT1toP1> <DistP1toP2>300</DistP1toP2> <DistP2toT2>164.5</DistP2toT2> <DistT2toEdge>56.25</DistT2toEdge> </Conveyor_Channel_1>
我们选几个需要的node然后保存到excel中
import xml.etree.ElementTree as ET import xlwt tree = ET.parse("ConvConfig.xml") root = tree.getroot() title =['ChannelName','EncoderResolution_mmpercnt','SenorPortName','SensorBit','DistT1toP1','DistP1toP2','DistP2toT2','DistT2toEdge'] data = [] workbook=xlwt.Workbook(encoding = 'utf-8') #add sheet name worksheet = workbook.add_sheet('conveyor',cell_overwrite_ok=True) #write head for i in range(len(title)): worksheet.write(0,i,title[i]) #write content for node in root.iter('ConveyorInitInfo'): for channel in node: for i in channel: for j in range(len(title)): if title[j]==i.tag: # print(i.tag, i.text) data.append(i.text) #print(data) workbook.save("test.xls")
生成excel效果: