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