Python 處理 Excel

首先講一下兩個庫:xlrd 和 pyExcelerator,xlrd從名字上來看就是讀excel比較方便的,而pyExcelerator對於生成excel並寫excel很方便。讓我們分析一下上述代碼的兩個函數:

 

1 def openExcelFile(self,index):
2 self.bk = xlrd.open_workbook(self.fname)
3 self.sh = self.bk.sheets()[index]
4 self.nrows = self.sh.nrows
5 self.dic3 = {}

      行2是打開一個文件名爲self.fname的excel工作薄,行3是獲取工作薄中的第(index+1)張表,因爲一個工作薄裏可以新建好幾張表,它 們的索引從0開始,行4記錄了這張表裏數據的行數。下面讀取每個表格的值就很容易了,sh.row(i)[3]這個就代表第i行的第4列.特別注意 sh.row(i)[3][7:-1]才能取到正確的字符串值,和excel的編碼有關。

 

 def saveResult(self):
2 wb = Workbook()
3 for key,values in CpuTestTime.StateTable.items():
4 loop = 1
5 ws = wb.add_sheet(key)
6 ws.write(0,0,'STATE')
7 ws.write(0,1,'ELAPSED_TIME')
8 ws.write(0,2,'CPU_ELAPSED_TIME')
9 ws.write(0,3,'COUNT')
10 for value in values:
11 ws.write(loop,0,value)
12 ws.write(loop,1,round(self.dic3[key][value]['ELAPSED_TIME'],2))
13 ws.write(loop,2,round(self.dic3[key][value]['CPU_ELAPSED_TIME'],2))
14 ws.write(loop,3,self.dic3[key][value]['COUNT'])
15 loop = loop+1
16 wb.save('result'+FILENAME) 上面這段代碼,行2創建一個excel工作薄,行5增加一個表,行6寫cell(0,0)單元格,值爲最後一個參數'STATE'。行16保存到文件。           這種方式處理excel表比較好懂,也比較簡單
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章