Python辦公自動化:效率飛躍,自動化批次彙總Excel到Word

洪雁發表於2024-07-17

Python辦公自動化:效率飛躍,自動化批次彙總Excel到Word


摘要: 每個月底,是許多資料分析師的夢魘,尤其是當他們需要從成百上千的Excel報表中彙總資料到Word時。本文將講述小李如何使用Python自動化技術,幾秒鐘完成原本需要通宵達旦的工作報告彙總任務。

月底報告的挑戰

小李是一家大型企業的資料分析師,每個月的最後幾天,他總是忙於彙總各個部門的經營分析報告。由於公司規模龐大,涉及的部門眾多,小李常常需要手動開啟每個Excel檔案,複製貼上到Word中,這個過程不僅效率低下,而且容易出錯。

自動化的救贖

在一次偶然的機會中,小李瞭解到了Python自動化技術。他意識到,透過編寫Python指令碼,可以自動化地讀取Excel檔案,並將資料彙總到Word文件中。這不僅能夠節省大量的時間,還能減少人為錯誤。

Python自動化解決方案

小李開始嘗試編寫Python指令碼,使用pandas庫來讀取Excel檔案,使用python-docx庫來操作Word文件。

實現步驟

  1. 安裝必要的Python庫:
    pip install pandas python-docx
  2. 編寫Python指令碼,自動化讀取Excel並寫入Word:
from docx import Documentfrom docx.shared import Ptfrom docx.enum.table import WD_TABLE_ALIGNMENT, WD_ROW_HEIGHT_RULEimport os
import pandas as pdfrom docx import Documentfrom docx.oxml.ns import qnfrom docx.shared import Pt# ... 其他程式碼 ...work_dir = 'path_to_your_excel_files'excel_files = [f for f in os.listdir( work_dir) if f.endswith(('.xlsx', '.xls'))]
# 建立一個新的Word文件doc = Document()# 遍歷所有Excel檔案for excel_file in excel_files: # ... 讀取Excel檔案並建立Word表格的程式碼 ... excel_path = os.path.join(work_dir, excel_file) # 讀取Excel檔案 df = pd.read_excel(excel_path) # 將DataFrame轉換為Word表格 for _, row in df.iterrows(): table = doc.add_table(rows=1, cols=len(row), style='Table Grid') # 新增行並設定單元格資料 for i, value in enumerate(row): cell = table.cell(0, i) cell.text = str(value) # cell.vertical_alignment = 'center' # 垂直居中對齊
# 設定表格樣式 table.alignment = WD_TABLE_ALIGNMENT.CENTER
# 設定行高 for row in table.rows: row.height_rule = WD_ROW_HEIGHT_RULE.EXACTLY row.height = Pt(20)
# 儲存Word文件# ... 儲存文件的程式碼 ...output_path = os.path.join(work_dir, 'CombinedTables.docx')doc.save(output_path)print(f"Word文件已儲存至:{output_path}")

核心優勢

  • 批次處理:一鍵處理所有Excel檔案。
  • 自動化彙總:自動將資料寫入Word,無需手動複製貼上。
  • 時間效率:幾秒鐘完成原本需要數小時甚至通宵的工作。

結果展示

透過Python指令碼,小李成功地將所有部門的經營分析報告彙總到了一個Word文件中,整個過程僅用了幾秒鐘。

自動化,讓工作更簡單

Python自動化技術不僅提升了小李的工作效率,也讓他從繁瑣的重複勞動中解放出來,有更多的時間專注於資料分析和決策支援。

相關文章