我正在搜索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
答案 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。