在日常工作中,Excel作為數據分析和報告制作的利器,幾乎無人不知無人不曉。然而,面對大量重復的數據錄入、整理、分析任務時,手動操作不僅耗時費力,還容易出錯。此時,Python與它的強大庫openpyxl便閃亮登場,助你輕松實現Excel自動化辦公。
Python以其簡潔易學的語法和豐富的數據處理庫,能高效地處理復雜的數據任務,而openpyxl則是專門用于操作Excel文件的庫,讓你無需打開Excel,就能完成創建、讀取、編輯等操作。
openpyxl是一個開源的Python庫,專注于讀寫Microsoft Excel 2010 xlsx/xlsm/xltx/xltm文件。它支持高級功能如數據驗證、圖表、超鏈接、注釋等,且性能優秀,對大型文件處理游刃有余。安裝只需在命令行中輸入以下命令:
pip install openpyxl
想在Python里“無中生有”一個Excel文件?openpyxl幫你實現!下面的代碼將創建一個名為“my_data.xlsx”的文件,并在其中填入一些數據:
from openpyxl import Workbook# 創建Workbook對象,相當于一個新的Excel文件wb = Workbook()# 獲取默認的活躍工作表(Sheet)ws = wb.active# 在A1到C3單元格寫入數據for row in range(1, 4): for col in 'ABC': ws[col+str(row)] = f"Data {row} {col}"# 保存到硬盤wb.save("my_data.xlsx")
有了數據,自然要能讀取。這段代碼將打開“my_data.xlsx”,讀取其內容并打印出來:
from openpyxl import load_workbook# 加載已有的Excel文件wb = load_workbook("my_data.xlsx")# 獲取第一個工作表(索引為0)ws = wb.worksheets[0]# 遍歷所有單元格并打印內容for row in ws.iter_rows(): for cell in row: print(cell.value)
數據錯了?顏色不滿意?openpyxl讓你輕松調整:
from openpyxl.styles import Font, Color# 加載已有的Excel文件wb = load_workbook("my_data.xlsx")ws = wb.active# 修改A1單元格內容為"Updated Data"ws["A1"] = "Updated Data"# 設置A1單元格字體為紅色,加粗font = Font(color=Color(rgb='FF0000'), bold=True)ws["A1"].font = font# 保存更改wb.save("my_data.xlsx")
數據結構需要調整?openpyxl讓你增刪自如:
# 加載已有的Excel文件wb = load_workbook("my_data.xlsx")ws = wb.active# 在第二行前插入一行ws.insert_rows(2)# 刪除第三列(C列)ws.delete_cols(3)# 保存更改wb.save("my_data.xlsx")
表格需要更美觀?合并單元格與條件格式來幫忙:
from openpyxl.formatting.rule import CellIsRulefrom openpyxl.styles import PatternFill# 加載已有的Excel文件wb = load_workbook("my_data.xlsx")ws = wb.active# 合并A1到C1單元格ws.merge_cells('A1:C1')# 創建一個條件格式規則:當單元格值大于10時填充綠色green_fill = PatternFill(start_color="00FF00", end_color="00FF00", fill_type="solid")rule = CellIsRule(operator='>', formula=['10'], stopIfTrue=False, fill=green_fill)# 應用規則到整個工作表ws.conditional_formatting.add('A1:C5', rule)# 保存更改wb.save("my_data.xlsx")
數據需要計算或統計?openpyxl支持直接寫入公式:
# 加載已有的Excel文件wb = load_workbook("my_data.xlsx")ws = wb.active# 在D1單元格寫入求和公式ws["D1"] = "=SUM(A1:C1)"# 在D2單元格寫入平均值公式ws["D2"] = "=AVERAGE(A2:C2)"# 保存更改并計算公式結果wb.save("my_data.xlsx")
面對多工作表的大型文件,openpyxl也能輕松應對:
# 加載已有的Excel文件wb = load_workbook("my_data.xlsx")# 遍歷所有工作表for sheet in wb.worksheets: print(f"Processing sheet: {sheet.title}") # 對每個工作表執行相同的操作,如數據清洗、格式化等# 保存更改wb.save("my_data.xlsx")
恭喜你,通過以上7個示例,你已經掌握了openpyxl的基本操作。接下來,你可以嘗試結合pandas庫進行更復雜的數據分析,或者利用定時任務實現自動化報表生成。無論你是處理銷售數據、財務報表,還是科研數據,openpyxl都能成為你提升工作效率的得力助手。
本文鏈接:http://www.tebozhan.com/showinfo-26-91521-0.htmlPython 自動化辦公:操作 Excel 的七個示例
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: Python 容器化技術的 15 個 Docker 實踐
下一篇: 有人問我架構圖、流程圖為什么這么好看?