我有一个很大的.docx文档。它有100多个段落。但是,有一些垃圾段落需要删除。例如,那些需要删除的段落的关键字为“无”。如何使用python删除关键字为“无”的那些段落。这是我到目前为止的内容,但是只能删除空白段落。如何修改它以实现我的目标?
import docx
f = docx.Document(r"test.docx")
doc = docx.Document()
for para in f.paragraphs:
if para.text.count("\n") == len(para.text):
continue
else:
if not para.text[0].isalpha():
continue
doc.add_paragraph(para.text)
doc.save(r"test2.docx")
对于使用此代码的简单情况,您应该能够做到这一点:
def delete_paragraph(paragraph):
p = paragraph._element
p.getparent().remove(p)
p._p = p._element = None
任何对“已删除”段落对象的后续访问都将引发AttributeError,因此应注意不要使引用保持混乱,包括作为Document.paragraphs存储值的成员。
之所以不在库中,是因为一般情况都比较棘手,特别是需要检测和处理段落中可能存在的各种链接项;图片,超链接或图表等内容。
但是如果您确定所有这些都不存在,那么这几行应该可以完成工作。