Python辦公自動化:效率飛躍,自動化批次彙總Excel到Word
摘要: 每個月底,是許多資料分析師的夢魘,尤其是當他們需要從成百上千的Excel報表中彙總資料到Word時。本文將講述小李如何使用Python自動化技術,幾秒鐘完成原本需要通宵達旦的工作報告彙總任務。
月底報告的挑戰
小李是一家大型企業的資料分析師,每個月的最後幾天,他總是忙於彙總各個部門的經營分析報告。由於公司規模龐大,涉及的部門眾多,小李常常需要手動開啟每個Excel檔案,複製貼上到Word中,這個過程不僅效率低下,而且容易出錯。自動化的救贖
在一次偶然的機會中,小李瞭解到了Python自動化技術。他意識到,透過編寫Python指令碼,可以自動化地讀取Excel檔案,並將資料彙總到Word文件中。這不僅能夠節省大量的時間,還能減少人為錯誤。Python自動化解決方案
小李開始嘗試編寫Python指令碼,使用pandas
庫來讀取Excel檔案,使用python-docx
庫來操作Word文件。
實現步驟
- 安裝必要的Python庫:
pip install pandas python-docx
- 編寫Python指令碼,自動化讀取Excel並寫入Word:
from docx import Document
from docx.shared import Pt
from docx.enum.table import WD_TABLE_ALIGNMENT, WD_ROW_HEIGHT_RULE
import os
import pandas as pd
from docx import Document
from docx.oxml.ns import qn
from 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自動化技術不僅提升了小李的工作效率,也讓他從繁瑣的重複勞動中解放出來,有更多的時間專注於資料分析和決策支援。