excel資料處理一:巧妙使用openpyxl提取、篩選資料
阿新 • • 發佈:2021-12-01
目前openpyxl只支援[.xlsx / .xlsm / .xltx / .xltm]格式的檔案,有人說,openpyxl是最好用的excel資料處理外掛,這個excel的資料處理外掛確實相當可以。主要是它的操作簡單、並且處理資料的方式更容易理解。
openpyxl 官網地址
https://openpyxl.readthedocs.io/en/stable/
在openpyxl的excel資料處理中,一個單元格物件使用cell表示,每一行資料稱之為row,每一列資料稱之為column。excel檔案中的工作空間稱之為sheet,下面使用我準備好的一張圖片來說明一下。
from openpyxl import load_workbook # 匯入excel的處理物件 workbook = load_workbook(filename = "./data.xlsx") # 載入excel檔案 print(workbook.sheetnames) # 獲取當前excel表格中的所有的表空間 # 獲取一個表工作空間物件 sheet = workbook["Sheet2"] # 獲取表空間物件的資料有幾行幾列 print(sheet.dimensions) # 獲取某個單元格的資料 cell_1 = sheet["A1"] print('A1單元格的資料是:',cell_1.value)
通過定位到第幾行第幾列的方式獲取某個單元格的資料。
cell_2 = sheet.cell(row = 2,column = 2)
獲取某個區域的單元然後遍歷
# 提取區域中的所有單元格物件
cell_3 = sheet["A1:C5"]
print('A1:C5 的資料物件是',cell_3)
for row in cell_3: # 遍歷每一行的單元格
for column in row: # 遍歷每一列的單元格
print(column.value) # 提取當前單元格的資料
行、列資料讀取方式
''' 按行讀取資料 iter_rows(min_row=1, max_row=10, min_col=1, max_col=5) min_row: 設定最小行數 max_row: 設定最大行數 min_col: 設定最小列數 max_col: 設定最大列數 ''' for row in sheet.iter_rows(min_row=1, max_row=10, min_col=1, max_col=5): for column in row: print(column.value) ''' 按列讀取資料 iter_cols(min_row=1, max_row=10, min_col=1, max_col=5) min_row: 設定最小行數 max_row: 設定最大行數 min_col: 設定最小列數 max_col: 設定最大列數 ''' for column in sheet.iter_cols(min_row=1, max_row=10, min_col=1, max_col=5): for row in column: print(row.value) ''' 讀取所有行資料 sheet.rows ''' for row in sheet.rows: print(row) # 列印每一行的資料
【往期精彩】
● 比Selenium更方便的自動化測試工具Helium!
● Python資料視覺化:視覺化資料分析外掛D-Tale
● 計算速度太慢?試試 lru_cache 裝飾器!
● 氣泡排序、選擇排序之間的比較與程式碼實現!
● 如何通過pynput與日誌記錄實現鍵盤、滑鼠的監聽行為?
● 如果你是一名java程式設計師,面對已經寫好的python指令碼該如何呼叫,其實很簡單!
● 如何使用PyQt5一步步實現使用者登入GUI介面、登入後跳轉?
● 辦公自動化:幾行程式碼將PDF文件轉換為WORD文件(程式碼實戰)!
● sched 模組中巨好用的輕量級定時任務神器scheduler!