Python導出Excel為Lua/Json/xml實例教程(一):初識Python
Python導出Excel為Lua/Json/Xml實例教程(二):xlrd初體驗
Python導出Excel為Lua/Json/Xml實例教程(三):終極需求
前文的實例都是比較基礎的例子,現在來一個貼近真實項目的實例。
下圖是要操作的表格:

需求列表:
主要實現部分代碼如圖:


執行腳本后打開生成的lua文件,可以看到完美解決了列出的需求。
# -*- coding: UTF-8 -*- # Author:Krisik# 博客地址:http://m.survivalescaperooms.com/krisirk/import xlrdfileOutput = open('Configs.lua','w')# 讓py可以讀取文件中的中文import sysreload(sys)sys.setdefaultencoding("utf-8")# 可以在這里寫一些固定的注釋代碼之類的writeData = "-- @author:kris/n/n/n"workbook = xlrd.open_workbook('Configs.xls')PRint "There are {} sheets in the workbook".format(workbook.nsheets)for booksheet in workbook.sheets(): # print "Current Booksheet:[" + booksheet.name + "]" writeData = writeData + 'AT' + booksheet.name + ' = {/n' # 處理id和index的特殊行 writeData = writeData + '/t' + 'keys' + ' = ' + '{ ' for row in xrange(booksheet.nrows): if row <= 2 : continue else : Id = str(int(booksheet.cell(row, 1).value)) index = str(int(booksheet.cell(row, 0).value)) writeData = writeData + '[' +Id + '] = ' + index + ' , ' else: writeData = writeData + '} ,/n' for col in xrange(booksheet.ncols): # 如果第二行為空,則此列為注釋列 if not any(booksheet.cell(1,col).value) : continue # 第三行為參數類型定義 colType = booksheet.cell(2, col).value for row in xrange(booksheet.nrows): value = booksheet.cell(row, col).value if row == 0 or row == 2: continue elif row == 1 : writeData = writeData + '/t' + '["' + value + '"]' + ' = ' + '{ ' else : if colType == "int" : writeData = writeData + str(int(booksheet.cell(row, col).value)) + ' , ' else : writeData = writeData + '"' + str(booksheet.cell(row, col).value) + '" , ' else : writeData = writeData + '} ,/n' else : writeData = writeData + '}/n/n'else : fileOutput.write(writeData)fileOutput.close()到這里,關于操作excel的文章就結束了,相信對于絕大部分的需求或者更復雜的需求都能游刃有余了。
tips:通過代碼生成Excel文件可以參考xlwt。
xlwt是python用來寫excel的工具,跟xlrd對應。
Python導出Excel為Lua/Json/Xml實例教程(一):初識Python
Python導出Excel為Lua/Json/Xml實例教程(二):xlrd初體驗
新聞熱點
疑難解答