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