
大家好,我們今天來一起探索一下用Python怎么操作Excel文件。與word文件的操作庫python-docx類似,Python也有專門的庫為Excel文件的操作提供支持,這些庫包括xlrd、xlwt、xlutils、openpyxl、xlsxwriter幾種,其中我最喜歡用的是openpyxl,這也是本次講解的主要內容。Excel文件大家也不陌生了,平時辦公、學習中都會用到,大家回憶一下,你操作一個Excel文件是什么步驟呢?下圖給出一個Excel文件,大家對照着想一想。

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文件如下圖所示:

OK,是不是感覺操作Excel很簡單啊,那是因為你在這一段時間的Python學習中進步了,給自己一個贊!謝謝大家的關注與閱讀,后面還有更多的編程美味,敬請享用。