OK,我們一起捋一捋,首先要新建或打開一個Excel文件,然后選擇某個工作表,也就是上圖中的sheet,最后讀取或設置單元格的值。與此相對應的,在openpyxl中,有三個概念:Workbooks,Sheets,Cells。Workbook就是一個打開的excel文件,即excel工作簿;Sheet是工作簿中的一張表,即工作表;Cell就是一個簡單的單元格。openpyxl就是圍繞著這三個概念進行的,不管讀寫都是“三板斧”:打開Workbook,定位Sheet,操作Cell。OK,了解了基本概念,我們實際操作看看吧!
首先,openpyxl并不是Python 3預裝的庫,需要我們手動安裝,很簡單打開命令行窗口輸入pip install openpyxl就可以了。如下圖所示,我的已經安裝好了,所以輸出信息可能和大家的會不一樣。
安裝好openpyxl后,通過import語句導入,再通過執行help方法,看看openpyxl庫中包含哪些東西,不需要認識,有個印象就行。
里面有一些單詞還是很熟悉的吧,比如cell單元格、chart圖表、styles樣式、workbook工作簿、worksheet工作表,除了用help方法,還可以使用dir方法來查看一個庫的所有成員,我把我們一會兒可能會用到的一些已經標紅了,大家在學習的過程中可以重點關注下。
下面給出操作Excel文件的一般步驟:
1、打開或者創建一個Excel:需要創建一個workbook對象,其中打開一個Excel所采用的是load_workbook方法,而創建一個Excel則直接通過實例化類workbook來完成。
2、獲取一個工作表:需要先創建一個workbook對象,然后使用該對象的方法來得到一個worksheet對象。
3、如果要獲取表中的數據,需要先得到一個worksheet對象,再從中獲取代表單元格的Cell對象。
OK,我們在Python中實際操作看看吧,操作的對象是2018年度海南考試錄入公務員的職位表,如下圖所示。
下面給出一些基本操作示例,大家可照著寫一下。
再秀一下操作,一下子讀取指定行列的單元格,用到了iter_rows方法,表示在參數指定范圍內按行迭代,如果想要按列迭代的話可以使用iter_cols方法。
上面的代碼展示了如何操作一個已有的Excel文件,下面再看一下新建一個Excel的例子。
生成的Excel文件如下圖所示: