使用Python Docx删除空行

时间:2017-04-30 18:58:47

标签: python python-docx

我正在使用Python docx从包含文本和图像的文档中删除空白行。使用paragraph.clear()paragraph.run.clear()适用于某一点,但输出的文件仍然有空行,只有Word中显示的段落标记。有没有办法直接搜索段落标记?或者有更好的清除线路的方法吗?

# code snippet
for paragraphs in document.paragraphs:
    if paragraphs.text == "\n":
        paragraphs.clear()

2 个答案:

答案 0 :(得分:1)

空行不是用“\ n”标记,而是用空字符串“”标记。

另外,clear()删除文字但不删除段落本身。

尝试为每个段落测试len(paragraph.text)==0

答案 1 :(得分:0)

使用len(paragraph.text)==1有助于将len(paragraph.text)==0用作换行符,因为换行符也是一个字符。 我只想将除空行以外的行复制到新文档中,以便输出。 当我使用paragraph.text=paragraph.strip('\n')时,字体,粗体,下划线和斜体都被删除了。因此检查每个段落的长度并清除该段落就可以了。