如何使用Python删除docx文档中的某些段落?

时间:2020-04-21 04:31:40

标签: python docx python-docx

我有一个很大的.docx文档。它有100多个段落。但是,有一些垃圾段落需要删除。例如,那些需要删除的段落的关键字为“无”。如何使用python删除关键字为“无”的段落。这是我到目前为止的内容,但是只能删除空白段落。如何修改它以实现我的目标?

cellfun(...)

1 个答案:

答案 0 :(得分:0)

对于使用以下代码的简单情况,您应该可以做到这一点:

def delete_paragraph(paragraph):
    p = paragraph._element
    p.getparent().remove(p)
    p._p = p._element = None

任何对“已删除”段落对象的后续访问都将引发AttributeError,因此您应注意不要使引用保持混乱,包括作为Document.paragraphs存储值的成员。

之所以不在库中,是因为一般情况都比较棘手,特别是需要检测并处理段落中可能存在的各种链接项;图片,超链接或图表之类的东西。

但是,如果您确定所有这些都不存在,那么这几行就可以完成工作。