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()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM