python xml转excel

因公司业务需要,临时写的一段代码:

 

from xml.etree import ElementTree
import xlrd
import xlwt

# 读取xml
def read_xml(path):
 print("read_xml start...")
 root = ElementTree.fromstring(path)
 
 # 读取row子节点
 rows = root.findall('ROW')
 return rows

def open_excel(path):
 try:
  data = xlrd.open_workbook(path)
  return data
 except Exception as ex:
  return ex

def write_excel(path):
 workbook = xlwt.Workbook()  
  
def read_excel(path,secondtype,by_index=0):
 data = open_excel(path)
 table = data.sheets()[by_index]
 print(table.nrows)
 
 # xml文件
 workbook = xlwt.Workbook()
 # 添加xml工作表
 worksheet = workbook.add_sheet('警情类型')
 
 #print(table.row_values(1)[1])
 for i in range(table.nrows):
  word = table.row_values(i)[2]
  if(word in secondtype):
   # 写入excel
   worksheet.write(i,1,word)
   print("word:",word)
workbook.save("temp.xls");
xml_path="test.xml"
excel_path = "ICCTranslate.xlsx"

# 指定编码uft-8,否则会报错
rows = read_xml(open(xml_path,encoding='utf-8').read())
secondtype = [] 
for item in rows:
 if len(item[1].text) < 10:
  secondtype.append(item[2].text)
#print(secondtype)
read_excel(excel_path, secondtype)

 

posted @ 2017-12-13 08:39  致林  阅读(7472)  评论(2编辑  收藏  举报