上一期給大家分享了如何用python讀取文字,這次給大家分享如何讀取excel**內容,拿最常見的.xlsx和.xls格式來講解。
本章主要知識點有:
讀取整篇excel返回list[list[list]] 格式
讀取指定sheet頁內容返回list[list] 格式
讀取任意一行或一列返回list 格式
正文:讀取excel有多種方法,本章採用比較通用的xlrd庫來實現,先讀取檔案,再指定到某sheet頁進行讀取
data =xlrd.open_workbook(filename)table = data.sheet_by_name(sheetname)
如上**中,將sheet頁賦給了table變數,再根據table頁的總行數和總列數,逐個輸出單元格的內容
#獲取總行數和總列數
trows =table.nrows
tcols =table.ncols
#獲取某個單元格的內容
table.cell(r,c).value
結合以上資訊,可以完整的輸出讀取sheet頁內容的函式,並輸出list格式
1def readbysheet(self, sheetname : str) ->list:
2 data =xlrd.open_workbook(self.files)34
#get table cont by sheet name
5 table =data.sheet_by_name(sheetname)
67 trows =table.nrows
8 tcols =table.ncols910
#read excel
11 res =
12for r in
range(trows):
13 rescol =
14for c in
range(tcols):
1516
17return res
既然都可以輸出某sheet頁的內容了,那麼讀取整篇excel 的內容,只要知道所有sheet頁的名稱即可,xlrd庫也提供了這樣一種方法 data.sheet_names(),即輸出seheet頁的列表,結合以上**,那麼讀取整篇excel的方法實現如下
1def read(self) ->list:
2 data =xlrd.open_workbook(self.files)
3 tablelist =data.sheet_names()
45 res =
6for name in
tablelist:78
return res
擴充套件:在開發專案中,有時並不需要讀取整個table頁的內容,或許只需要某一列或某一行的值,其實xlrd早就考慮到了,使用 table.row_values(row)和table.col_values(col),其中row 和 col 為行和列index,小編也將其封裝好了,方便讀者直接呼叫
1def readanyrows(self, sheetname : str, row : int) ->list:
2 data =xlrd.open_workbook(self.files)
3 table =data.sheet_by_name(sheetname)
4return table.row_values(row) if table.nrows > row else
'row out of range'5
6def readanycols(self, sheetname : str, col : int) ->list:
7 data =xlrd.open_workbook(self.files)
8 table =data.sheet_by_name(sheetname)
9return table.col_values(col) if table.ncols > col else
'col out of range
'
後續我會介紹其他讀取excel的方式,譬如openpyxl,pandas等,關注我,你會對python越來越有興趣!
Python之Excel檔案讀取
今天研究了一下python對excel檔案的讀取,在此分享一下。想通過python對excel檔案進行處理,需要安裝以下幾個模組 import xlrd 1.開啟excel檔案 workbook xlrd.open workbook test.xlsx 2.抓取所有sheet的名稱,python會以...
python讀取excel檔案
一 安裝xlrd模組 二 使用介紹 1 匯入模組 import xlrd 2 開啟excel檔案讀取資料 data xlrd.open workbook excelfile.xls 3 使用技巧 獲取乙個工作表 table data.sheets 0 通過索引順序獲取 table data.shee...
python讀取Excel例項
1 安裝python官方excel庫 xlrd 2 獲取excel檔案位置並讀取 3 讀取sheet 4 讀取指定rows和cols內容 coding utf 8 import xlrd from datetime import date,datetime def read excel 檔案位置 e...