Python-docx工具类

使用Python-docx库操作Word文档中的段落和表格写入表单数据,Java版

  • 获取段落、表格;
  • 向段落、表格、单元格中写入数据(占位符${name});
  • 合并单元格。

"""
@Title: MjWord
@Time: 2024/1/21 13:13
@Author: Michael
"""

from docx import Document
import os
import re

from docx.table import Table, _Cell
from docx.text.paragraph import Paragraph


class MjWord:
    # 构造函数
    def __init__(self, path: str):
        """
        :param path: 文件路径
        """
        if not os.path.isfile(path):
            raise Exception("非文件路径!")
        post = path.split(".")[-1]
        if post != "docx":
            raise Exception("非docx文件!")
        self.path = path
        self.docx = Document(path)

    # 获取所有段落
    def get_paragraphs(self, remove_empty: bool = True) -> list[Paragraph]:
        """
        :param remove_empty: 是否剔除空白段落
        :return: list[Paragraph]
        """
        paragraphs = self.docx.paragraphs
        if not remove_empty:
            return paragraphs
        # 剔除空白段落
        paragraphs_not_with_none = []
        for paragraph in paragraphs:
            if paragraph is None or paragraph.text == "":
                continue
            paragraphs_not_with_none.append(paragraph)
        return paragraphs_not_with_none

    # 获取特定段落
    def get_paragraph(self, index: int | s
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值