Python把Excel表格转化xml文件
# 首先了解xlrd模块
#data = xlrd.open_workbook('文件名') 打开Excel文件
#ret = data.sheet_names() 获取所有工作表名
#sheet = data.sheet_by_name(ret) 获取ret工作表中所有数据
#sheet.neows 获取行数
#sheet.ncols 获取列数
#sheet.cell_value(1,2) 获取0行1列单元格数据
import xlrd data = xlrd.open_workbook("./ces4.xls") txt = open("4.xml", "a") # 文件读写方式是追加 count = data.sheet_names() # 统计所有的应用名 # print('------------------------') number = len(count) # 获取又多少个表单 a = '''<?xml version='1.0' encoding='UTF-8'?> \n<resTypes>''' Text = a txt.write(Text) # print(sheet.cell_value(2, 3)) for i in range(number): sheet_name = data.sheet_names()[i] # 第一个应用的名字 sheet = data.sheet_by_name(sheet_name) # 获取第一个表格里的数据 ret = sheet.nrows # 每个表的行数 # print(ret) # print(i+1) for i in range(ret): if sheet.cell_value(i+1, 3) == '数据类型': a='''\n\n<!--%s --> \n<!--科技司核心模型 --> \n<resType id="LoadBalancerSync" cossType="LoadBalancer" uyunType="LoadBalancer" cossKey="name" uyunKey="name"> ''' % sheet_name print(sheet_name) # 打印统计的表格名 Text = a txt.write(Text) elif sheet.cell_value(i+1, 3) == '文本': Text = "\n<property cossCode=\"%s\" uyunCode=\"%s\" type=\"%s\"></property>" %(sheet.cell_value(i+1, 5), sheet.cell_value(i+1, 2),'text') txt.write(Text) elif sheet.cell_value(i + 1, 3) == '字典': Text = "\n<property cossCode=\"%s\" uyunCode=\"%s\" type=\"%s\" dictCode=\"%s\" ></property>" % ( sheet.cell_value(i + 1, 5), sheet.cell_value(i + 1, 2), 'dist', sheet.cell_value(i + 1, 6) ) txt.write(Text) elif sheet.cell_value(i + 1, 3) == '部门': Text = "\n<property cossCode=\"%s\" uyunCode=\"%s\" type=\"%s\"></property>" % ( sheet.cell_value(i + 1, 5), sheet.cell_value(i + 1, 2), 'bumen') txt.write(Text) elif sheet.cell_value(i + 1, 3) == '日期': Text = "\n<property cossCode=\"%s\" uyunCode=\"%s\" type=\"%s\"></property>" % ( sheet.cell_value(i + 1, 5), sheet.cell_value(i + 1, 2), 'time') txt.write(Text) elif sheet.cell_value(i + 1, 3) == '引用': Text = "\n<property cossCode=\"%s\" uyunCode=\"%s\" type=\"%s\" referCossClassCode=\"%s\" referUyunClassCode=\"%s\"></property>" % ( sheet.cell_value(i + 1, 5), sheet.cell_value(i + 1, 2), 'time', sheet.cell_value(i + 1, 6), sheet.cell_value(i + 1, 5)) txt.write(Text) elif sheet.cell_value(i + 1, 3) == '': end = '\n</resType>' txt.write(end) break a = '\n<resTypes>' Text = a txt.write(Text) txt.close()