📌 第 10 小時:Python 自動化應用(Excel & VBA)
Python 不僅可以用來開發應用程式、數據分析,還可以用於 自動化辦公,特別是 Excel 自動化,幫助我們處理大量數據、批量轉換格式、生成報表等工作。本章將介紹:
openpyxl
操作 Excel(.xlsx)pandas
處理 Excel 表格pyautogui
模擬鍵鼠自動化- 使用
Python
操作 VBA 巨集(Macro)
🔹 1. openpyxl
操作 Excel(.xlsx)
openpyxl
是 Python 用來 讀取與寫入 Excel 的庫,適用於 .xlsx
格式的 Excel 檔案。
🟢 安裝 openpyxl
pip install openpyxl
🟢 讀取 Excel
import openpyxl
wb = openpyxl.load_workbook("example.xlsx") # 開啟 Excel
sheet = wb.active # 選擇當前工作表
print(sheet["A1"].value) # 讀取 A1 儲存格的值
print(sheet.cell(row=2, column=1).value) # 讀取第 2 行第 1 列的值
🔹 2. pandas
處理 Excel
如果我們需要對 Excel 進行更高效的 數據處理,可以使用 pandas
。
🟢 讀取 Excel
import pandas as pd
df = pd.read_excel("example.xlsx")
print(df.head()) # 顯示前 5 筆數據
🟢 轉存 Excel
df.to_excel("output.xlsx", index=False)
🔹 3. openpyxl
新增與修改 Excel
🟢 新增數據
sheet["A1"] = "姓名"
sheet["B1"] = "年齡"
sheet.append(["Alice", 25]) # 添加一行
sheet.append(["Bob", 30])
wb.save("example.xlsx") # 存檔
🟢 調整儲存格樣式
from openpyxl.styles import Font
sheet["A1"].font = Font(bold=True, color="FF0000") # 設定 A1 字體加粗 & 紅色
wb.save("example.xlsx")
🔹 4. pyautogui
自動化辦公
pyautogui
允許 Python 模擬鍵盤與滑鼠,可以幫助我們自動操作 Excel、打開應用程式等。
🟢 安裝 pyautogui
pip install pyautogui
🟢 自動打開 Excel
import pyautogui
import time
pyautogui.press("win") # 按下 Windows 鍵
time.sleep(1)
pyautogui.write("Excel", interval=0.1) # 輸入 "Excel"
pyautogui.press("enter") # 按下 Enter
📌 這段程式碼會自動開啟 Excel!
🟢 自動填寫 Excel
time.sleep(3) # 等待 3 秒,讓使用者手動切換到 Excel
pyautogui.write("Hello, Python!", interval=0.1) # 輸入文字
pyautogui.press("enter") # 按 Enter
🔹 5. Python 操作 VBA 巨集
如果你的 Excel 內有 VBA 巨集(Macro),你可以用 Python 執行 VBA。
🟢 win32com
操作 VBA
pip install pywin32
🟢 執行 VBA 巨集
import win32com.client
excel = win32com.client.Dispatch("Excel.Application")
wb = excel.Workbooks.Open(r"C:\path\to\example.xlsm") # 開啟 Excel(.xlsm)
excel.Application.Run("MyMacro") # 執行 VBA 巨集 "MyMacro"
wb.Close(SaveChanges=1) # 關閉並儲存
excel.Quit()
📌 這可以讓 Python 呼叫 Excel 內建的 VBA 巨集,進行更複雜的自動化處理!
📌 第 10 小時小結
✅ openpyxl
讀取與修改 Excel(.xlsx)
✅ pandas
讀取、分析、轉存 Excel
✅ pyautogui
模擬鍵鼠,開啟應用、填寫 Excel
✅ win32com
執行 VBA 巨集,與 Excel 整合
學完這一章,你已掌握 Python 自動化辦公應用,下一步將學習 Python 進階應用,如多執行緒與網路應用!🚀
沒有留言:
張貼留言