1. 程式人生 > 其它 >excel資料處理一:巧妙使用openpyxl提取、篩選資料

excel資料處理一:巧妙使用openpyxl提取、篩選資料

目前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!

歡迎關注作者公眾號【Python 集中營】,專注於後端程式設計,每天更新技術乾貨,不定時分享各類資料!