Python模塊學(xué)習(xí)-openpyxl-創(chuàng)新互聯(lián)

openpyxl模塊介紹

堅(jiān)守“ 做人真誠(chéng) · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都成都搬家公司小微創(chuàng)業(yè)公司專業(yè)提供成都企業(yè)網(wǎng)站定制營(yíng)銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁(yè)布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。

openpyxl模塊是一個(gè)讀寫Excel 2010文檔的Python庫(kù),如果要處理更早格式的Excel文檔,需要用到額外的庫(kù),openpyxl是一個(gè)比較綜合的工具,能夠同時(shí)讀取和修改Excel文檔。其他很多的與Excel相關(guān)的項(xiàng)目基本只支持讀或者寫Excel一種功能。

安裝openpyxl模塊

openpyxl是一個(gè)開源項(xiàng)目,這里使用如下命令安裝openpyxl模塊

1pip3 install openpyxl

openpyxl基本用法

想要操作Excel首先要了解Excel 基本概念,Excel中列以字幕命名,行以數(shù)字命名,比如左上角第一個(gè)單元格的坐標(biāo)為A1,下面的為A2,右邊的B1。

openpyxl中有三個(gè)不同層次的類,Workbook是對(duì)工作簿的抽象,Worksheet是對(duì)表格的抽象,Cell是對(duì)單元格的抽象,每一個(gè)類都包含了許多屬性和方法。

操作Excel的一般場(chǎng)景:

打開或者創(chuàng)建一個(gè)Excel需要?jiǎng)?chuàng)建一個(gè)Workbook對(duì)象

獲取一個(gè)表則需要先創(chuàng)建一個(gè)Workbook對(duì)象,然后使用該對(duì)象的方法來得到一個(gè)Worksheet對(duì)象

如果要獲取表中的數(shù)據(jù),那么得到Worksheet對(duì)象以后再?gòu)闹蝎@取代表單元格的Cell對(duì)象

Workbook對(duì)象

一個(gè)Workbook對(duì)象代表一個(gè)Excel文檔,因此在操作Excel之前,都應(yīng)該先創(chuàng)建一個(gè)Workbook對(duì)象。對(duì)于創(chuàng)建一個(gè)新的Excel文檔,直接進(jìn)行Workbook類的調(diào)用即可,對(duì)于一個(gè)已經(jīng)存在的Excel文檔,可以使用openpyxl模塊的load_workbook函數(shù)進(jìn)行讀取,該函數(shù)包涵多個(gè)參數(shù),但只有filename參數(shù)為必傳參數(shù)。filename 是一個(gè)文件名,也可以是一個(gè)打開的文件對(duì)象。

Python模塊學(xué)習(xí) - openpyxl

PS:Workbook和load_workbook相同,返回的都是一個(gè)Workbook對(duì)象。

Workbook對(duì)象提供了很多屬性和方法,其中,大部分方法都與sheet有關(guān),部分屬性如下:

active:獲取當(dāng)前活躍的Worksheet

worksheets:以列表的形式返回所有的Worksheet(表格)

read_only:判斷是否以read_only模式打開Excel文檔

encoding:獲取文檔的字符集編碼

properties:獲取文檔的元數(shù)據(jù),如標(biāo)題,創(chuàng)建者,創(chuàng)建日期等

sheetnames:獲取工作簿中的表(列表)

Python模塊學(xué)習(xí) - openpyxl

Workbook提供的方法如下:

get_sheet_names:獲取所有表格的名稱(新版已經(jīng)不建議使用,通過Workbook的sheetnames屬性即可獲取)

get_sheet_by_name:通過表格名稱獲取Worksheet對(duì)象(新版也不建議使用,通過Worksheet['表名']獲取)

get_active_sheet:獲取活躍的表格(新版建議通過active屬性獲取)

remove_sheet:刪除一個(gè)表格

create_sheet:創(chuàng)建一個(gè)空的表格

copy_worksheet:在Workbook內(nèi)拷貝表格

Python模塊學(xué)習(xí) - openpyxl

Worksheet對(duì)象

有了Worksheet對(duì)象以后,我們可以通過這個(gè)Worksheet對(duì)象獲取表格的屬性,得到單元格中的數(shù)據(jù),修改表格中的內(nèi)容。openpyxl提供了非常靈活的方式來訪問表格中的單元格和數(shù)據(jù),常用的Worksheet屬性如下:

title:表格的標(biāo)題

dimensions:表格的大小,這里的大小是指含有數(shù)據(jù)的表格的大小,即:左上角的坐標(biāo):右下角的坐標(biāo)

max_row:表格的大行

min_row:表格的最小行

max_column:表格的大列

min_column:表格的最小列

rows:按行獲取單元格(Cell對(duì)象) - 生成器

columns:按列獲取單元格(Cell對(duì)象) - 生成器

freeze_panes:凍結(jié)窗格

values:按行獲取表格的內(nèi)容(數(shù)據(jù))? - 生成器

PS:freeze_panes,參數(shù)比較特別,主要用于在表格較大時(shí)凍結(jié)頂部的行或左邊的行。對(duì)于凍結(jié)的行,在用戶滾動(dòng)時(shí),是始終可見的,可以設(shè)置為一個(gè)Cell對(duì)象或一個(gè)端元個(gè)坐標(biāo)的字符串,單元格上面的行和左邊的列將會(huì)凍結(jié)(單元格所在的行和列不會(huì)被凍結(jié))。例如我們要凍結(jié)第一行那么設(shè)置A2為freeze_panes,如果要凍結(jié)第一列,freeze_panes取值為B1,如果要同時(shí)凍結(jié)第一行和第一列,那么需要設(shè)置B2為freeze_panes,freeze_panes值為none時(shí) 表示 不凍結(jié)任何列。

常用的Worksheet方法如下:

iter_rows:按行獲取所有單元格,內(nèi)置屬性有(min_row,max_row,min_col,max_col)

iter_columns:按列獲取所有的單元格

append:在表格末尾添加數(shù)據(jù)

merged_cells:合并多個(gè)單元格

unmerged_cells:移除合并的單元格

Python模塊學(xué)習(xí) - openpyxl

PS:從Worksheet對(duì)象的屬性和方法可以看到,大部分都是返回的是一個(gè)Cell對(duì)象,一個(gè)Cell對(duì)象代表一個(gè)單元格,我們可以使用Excel坐標(biāo)的方式來獲取Cell對(duì)象,也可以使用Worksheet的cell方法獲取Cell對(duì)象。

Python模塊學(xué)習(xí) - openpyxl

Cell對(duì)象

Cell對(duì)象比較簡(jiǎn)單,常用的屬性如下:

row:?jiǎn)卧袼诘男?/p>

column:?jiǎn)卧褡诘牧?/p>

value:?jiǎn)卧竦闹?/p>

coordinate:?jiǎn)卧竦淖鴺?biāo)

Python模塊學(xué)習(xí) - openpyxl

打印表中數(shù)據(jù)的幾種方式

Python模塊學(xué)習(xí) - openpyxl

實(shí)例

現(xiàn)有如下需求,對(duì)每個(gè)人提交的表格進(jìn)行匯總

Python模塊學(xué)習(xí) - openpyxl

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前文章:Python模塊學(xué)習(xí)-openpyxl-創(chuàng)新互聯(lián)
分享地址:http://muchs.cn/article28/eiscp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、全網(wǎng)營(yíng)銷推廣、網(wǎng)站排名、用戶體驗(yàn)、自適應(yīng)網(wǎng)站、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站