Python实现办公自动化读书笔记——自动化处理Word文档

自动化处理Word文档

使用Python实现Word文档的自动化处理,包括批量生成Word文档、在Word文档中批量进行查找和替换、将Word文档批量转换成PDF等。

1. 批量生成Word文档

  • 安装openpyxl模块
pip install openpyxl
  • 安装python-docx模块
pip install python-docx

openpyxl模块可以读写扩展名为.xlsx/.xlsm/.xltx/.xltm的Excel文件。

python-docx模块可以读写扩展名为.docx的Word文档,但不能处理扩展名为.doc的Word文档。

import re

from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT, WD_TABLE_ALIGNMENT
from openpyxl import load_workbook
from docx import Document


def info_update(doc, old_info, new_info):
    """
    文档内容替换
    :param doc: Word模板文档
    :param old_info: 源文本
    :param new_info: 新文本
    :return:
    """
    # 遍历Word文档中的所有段落
    for para in doc.paragraphs:
        # 遍历每个段落中的run对象
        for run in para.runs:
            # 替换run对象的文本内容
            # run.text = run.text.replace(r'《'+old_info+'》', new_info)
            run.text = run.text.replace(old_info, new_info)
            run.text = re.sub(r'[《》]', '', run.text)

    # 遍历Word文档中的所有表格
    for table in doc.tables:
        # 遍历表格中的所有行
        for row in table.rows:
            # 遍历行中的所有单元格
            for cell in row.cells:
                # 替换单元格内容
                cell.text = cell.text.replace('《' + old_info + '》', new_info)

        # 设置表格中的内容居中显示
        # 计算表格的rows和cols的长度
        rows = len(table.rows)
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值