openpyxl3.0中文文檔(openpyxl處理excel表格)


轉自:https://blog.csdn.net/qq_38830593/article/details/102870762

文章目錄

 

說明

碼雲地址:http://yumos.gitee.io/openpyxl3.0
本文檔是我在學習openpyxl時期下載下載並按照自己的理解翻譯了一部分,文檔是完整的;翻譯的部分僅僅包括讀寫,后邊的圖表等高級的操作暫時沒用到,所以沒有翻譯.

0.簡介

Workbook:指一個工作簿,也就是一個單獨的XLSX文件:
在這里插入圖片描述
Worksheet:指一個sheet頁:
在這里插入圖片描述
sheetName:sheet頁的名稱:
在這里插入圖片描述
rowcell:行 和 單元格:
在這里插入圖片描述

1.安裝

# 使用pip安裝即可 pip install openpyxl

2.簡單使用

推薦讀文件的時候使用只讀模式,速度會快很多;不建議使用可讀寫模式操作xlsx文件,慢的很;讀和寫分開會好一些。

2.1 讀取xlsx

思路:
在這里插入圖片描述
簡單示例:

from openpyxl import load_workbook # fileName 這里是指文件路徑 fileName = "工作簿.xlsx" # 以只讀模式打開工作簿 wb = load_workbook(filename = fileName,read_only = True) # sheetName 就是 sheet頁的名稱 sheetName = "Sheet1" # 通過 工作表名 獲取 工作表 ws = wb[sheetName] # 按行讀取 工作表的內容 for row in ws.rows: for cell in row: print(cell.value) # 獲取單元格內容 
    print(cell.column) # 獲取單元格的列號(數字值)
    print(cell.row) # 獲取單元格的行號號(數字值)

2.2 保存xlsx

思路:
在這里插入圖片描述
簡單示例:

from openpyxl import Workbook # 創建workbook對象,寫入模式 wb = Workbook(write_only=True) # 刪除默認創建的一個sheet頁 ws = wb['Sheet'] wb.remove(ws) # 給sheet頁命名 sheetName = "工作表1" # 1.創建sheet頁 ws = create_sheet(sheetName) # 構造 測試數據 row = ["A11","A12","A13"] # 2.向工作表中 按行添加數據 ws.append(row) # filePath 是指保存的 excel 文件路徑 filePath = "新工作簿.xlsx" # 3.保存xlsx wb.save(filePath)

3.主要方法介紹

創建工作簿

# 在內存里創建號工作表之后, 表內不包含任何 單元格. 當第一次 訪問它們的時候,才會被創建 # 創建在內存中,調用save方法才能保存在本地 wb = Workbook()

創建工作表

# sheet頁名稱為Mysheet ws = wb.create_sheet("Mysheet") # 在最前端插入 # ws = wb.create_sheet("Mysheet", 0)

設置sheet頁名稱

ws.title = "表名"

獲取工作表對象

# 通過表名獲取 ws = wb["表名"] # 獲取活動的工作表,這個工作表默認指向索引為0,除非你手動更改為其他的值。 否則你只能 使用該方法來獲取第一個工作表(worksheet) # ws = wb.active

打印工作表名稱

# ["Sheet1","Sheet2","Sheet3"] # 方法1 print(wb.sheetnames) # 方法2 for sheet in wb: print(sheet.title)

訪問一個單元格

# 訪問A列4行的單元格,不存在則創建 c = ws['A4'] # 還有Worksheet.cell()方法,賦值(4,1)值為10 d = ws.cell(row=4, column=1, value=10)

訪問多個單元格

# A1~C2 2行3列所有的單元格 cell_range = ws['A1':'C2']

遍歷行

# 使用 Worksheet.iter_rows() A1,B1,C1,A2,B2,C2 for row in ws.iter_rows(min_row=1, max_col=3, max_row=2): for cell in row: print(cell)

遍歷列(只讀模式下不可用):

# 使用 Worksheet.iter_cols() A1,A2,B1,B2,C1,C2 for col in ws.iter_cols(min_row=1, max_col=3, max_row=2): for cell in col: print(cell)

獲取所有工作行

# 按行為單位 rows = Worksheet.rows # row1,row2,row3,row4,...

獲取所有列:

# 按列為單位 cols = Worksheet.columns # col1,col2,col3,col4,...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM