如何使用python-docx增加word文档中的段落对象?

时间:2016-06-30 19:12:49

标签: python python-docx

我正在搜索word文档以获取文档中所写内容的描述。但是,这些文档的格式并不完全相同。但有一点是一致的是我想要的文本块总是在标题'描述'之后。所以我会搜索'Description'然后希望得到下一个段落对象的文本。我如何增加段落对象(可以这么说)?

for subdir, dirs, files in os.walk(rootdir):
    for file in files:
        doc = docx.Document(os.path.join(rootdir, file))
        for paragraph in doc.paragraphs:
            if 'Description' in paragraph.text:
                print(paragraph[i+1].text) #I know you can't do i+1 but
                                           #that's essentially what I want to do

2 个答案:

答案 0 :(得分:2)

一个简单的方法是:

paragraphs = list(doc.paragraphs)

for i in range(len(paragraphs)):
    paragraph = paragraphs[i]
    if 'Description' in paragraph.text:
        print(paragraphs[i+1].text)

如果您确定描述标签出现在具有Heading 1样式的段落中,您可以进一步限定标题段落,这样您就不会对恰好使用该词的段落产生误报。< / p>

答案 1 :(得分:1)

如果您希望以这种方式提取文字并进行搜索,python-docx2txt会让您减少麻烦。它改编自python-docx。