亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python模塊學習 - openpyxl

發布時間:2020-06-29 14:04:07 來源:網絡 閱讀:425 作者:Python熱愛者 欄目:編程語言

openpyxl模塊介紹

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

安裝openpyxl模塊

  openpyxl是一個開源項目,這里使用如下命令安裝openpyxl模塊

1pip3 install openpyxl

openpyxl基本用法

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

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

操作Excel的一般場景:

打開或者創建一個Excel需要創建一個Workbook對象

獲取一個表則需要先創建一個Workbook對象,然后使用該對象的方法來得到一個Worksheet對象

如果要獲取表中的數據,那么得到Worksheet對象以后再從中獲取代表單元格的Cell對象

Workbook對象

  一個Workbook對象代表一個Excel文檔,因此在操作Excel之前,都應該先創建一個Workbook對象。對于創建一個新的Excel文檔,直接進行Workbook類的調用即可,對于一個已經存在的Excel文檔,可以使用openpyxl模塊的load_workbook函數進行讀取,該函數包涵多個參數,但只有filename參數為必傳參數。filename 是一個文件名,也可以是一個打開的文件對象。


Python模塊學習 - openpyxl

PS:Workbook和load_workbook相同,返回的都是一個Workbook對象。

Workbook對象提供了很多屬性和方法,其中,大部分方法都與sheet有關,部分屬性如下:

active:獲取當前活躍的Worksheet

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

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

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

properties:獲取文檔的元數據,如標題,創建者,創建日期等

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


Python模塊學習 - openpyxl

Workbook提供的方法如下:

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

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

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

remove_sheet:刪除一個表格

create_sheet:創建一個空的表格

copy_worksheet:在Workbook內拷貝表格


Python模塊學習 - openpyxl

Worksheet對象

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

title:表格的標題

dimensions:表格的大小,這里的大小是指含有數據的表格的大小,即:左上角的坐標:右下角的坐標

max_row:表格的最大行

min_row:表格的最小行

max_column:表格的最大列

min_column:表格的最小列

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

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

freeze_panes:凍結窗格

values:按行獲取表格的內容(數據)? - 生成器

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

常用的Worksheet方法如下:

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

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

append:在表格末尾添加數據

merged_cells:合并多個單元格

unmerged_cells:移除合并的單元格


Python模塊學習 - openpyxl

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


Python模塊學習 - openpyxl

Cell對象

Cell對象比較簡單,常用的屬性如下:

row:單元格所在的行

column:單元格坐在的列

value:單元格的值

coordinate:單元格的坐標


Python模塊學習 - openpyxl

打印表中數據的幾種方式


Python模塊學習 - openpyxl

實例

  現有如下需求,對每個人提交的表格進行匯總


Python模塊學習 - openpyxl


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

商水县| 马龙县| 乌什县| 大石桥市| 陵川县| 景洪市| 宝应县| 区。| 文成县| 津市市| 南涧| 天镇县| 思茅市| 伊吾县| 云和县| 淮南市| 齐河县| 广元市| 三穗县| 屏边| 黄大仙区| 依安县| 保定市| 平安县| 黑山县| 东乡族自治县| 金乡县| 卢湾区| 文成县| 奇台县| 福州市| 衡水市| 石屏县| 三河市| 九龙坡区| 南京市| 绥江县| 黑山县| 镇康县| 门源| 麻江县|