Python 讀取Excel之xlrd篇

2022-08-26 10:15:12 字數 2161 閱讀 4644

上一期給大家分享了如何用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格式

1

def 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的方法實現如下

1

def 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,小編也將其封裝好了,方便讀者直接呼叫

1

def 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...