Python辦公自動化 Python操作Excel與Word實戰技巧

python可通過openpyxl和python-docx庫高效處理excelword文檔。1. 使用openpyxl可讀寫excel單元格、修改樣式、遍歷行列,如批量增加銷售額;2. python-docx支持生成word文檔,替換文本、添加段落表格,并注意保留格式;3. 綜合應用pandas讀取excel數據后,遍歷每行并用python-docx生成個性化word文檔,如工資條,顯著提升辦公效率。

Python辦公自動化 Python操作Excel與Word實戰技巧

在日常辦公中,用Python處理Excel和Word文檔確實能省下不少時間。特別是重復性高、數據量大的任務,自動化操作優勢明顯。比如批量生成報告、整理表格數據這些工作,手動做容易出錯還費時,用Python幾行代碼就能搞定。


用openpyxl輕松處理Excel文件

如果你經常需要處理.xlsx格式的Excel文件,openpyxl是一個非常好用的庫。它支持讀寫單元格、修改樣式、圖表操作等功能。

舉個簡單的例子:你想把某個Excel表中的“銷售額”列都加上1000元作為補貼,可以這樣寫:

立即學習Python免費學習筆記(深入)”;

from openpyxl import load_workbook  wb = load_workbook('銷售數據.xlsx') ws = wb.active  for row in ws.iter_rows(min_col=3, max_col=3):  # 假設C列是銷售額     cell = row[0]     if isinstance(cell.value, (int, float)):         cell.value += 1000  wb.save('更新后的銷售數據.xlsx')

幾個實用小技巧:

  • 使用iter_rows()或iter_cols()遍歷行列更直觀。
  • 修改字體、背景色可以用Font和PatternFill類。
  • 保存前記得檢查是否已有同名文件,避免覆蓋。

用python-docx批量生成Word文檔

當你需要根據模板生成大量類似結構的Word文檔(如合同、報告等),python-docx非常合適。它可以添加段落、表格、圖片,還能替換文本內容。

例如,你有一個報告模板,里面有一段寫著“【姓名】同學本次成績為【分數】”,你可以用Python自動替換這兩個占位符:

from docx import Document  doc = Document('模板.docx')  for para in doc.paragraphs:     if '【姓名】' in para.text:         para.text = para.text.replace('【姓名】', '張三').replace('【分數】', '92')  doc.save('張三的報告.docx')

注意點:

  • 替換文本時要小心不要破壞原有格式。
  • 如果有多個地方需要替換,建議先提取所有變量,統一處理。
  • 表格里的內容也需要單獨遍歷每個單元格來查找替換。

綜合應用:從Excel讀取數據,生成多個Word文檔

這是辦公自動化中最常見的一個場景:根據Excel里的每一行數據,生成對應的Word文檔。

比如,你要給每位員工生成一份工資條,數據都在Excel里,可以這樣做:

  1. 用pandas讀取Excel數據。
  2. 遍歷每一行,提取所需字段。
  3. 用python-docx創建文檔并填充內容。
  4. 每次循環保存一個新的Word文件。

示例偽代碼如下:

import pandas as pd from docx import Document  data = pd.read_excel('員工工資表.xlsx')  for index, row in data.iterrows():     doc = Document('工資條模板.docx')      for para in doc.paragraphs:         para.text = para.text.replace('【姓名】', row['姓名'])                               .replace('【基本工資】', str(row['基本工資']))                               .replace('【獎金】', str(row['獎金']))      doc.save(f"{row['姓名']}_工資條.docx")

這種方式適合批量生成個性化文檔,效率提升非常明顯。


基本上就這些了。Python在處理Excel和Word方面已經非常成熟,工具也很多樣化。雖然一開始可能需要花點時間熟悉API,但一旦掌握,真的能節省大量重復勞動。

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享