我想从Python中的docx文件中读取头文本。我正在使用python-docx模块。
如果此功能已经实施,有人可以帮助我这样做。
我试图这样做,但没有成功。
from docx import Document
document = Document(path)
section = document.sections[0]
print(section.text)
Error:
<class 'AttributeError'>'Section' object has no attribute 'text'
和
from docx import Document
document = Document(path)
header = document.sections[0].header
print(header.text)
Error:
<class 'AttributeError'>'Section' object has no attribute 'header'
答案 0 :(得分:0)
在您提出问题时,使用python-docx库是不可能的。在0.8.8 release (January 7, 2019)中,添加了页眉/页脚支持。
在Word文档中,每个部分都有一个标题。标头有很多潜在的皱纹(例如,它们可以在不同的页之间链接,也可以在偶数/奇数页上不同),但是在简单的情况下,只有一个节和一个不复杂的标头,您只需要检查一下部分标题中的段落。
from docx import Document
document = Document(path_and_filename)
section = document.sections[0]
header = section.header
for paragraph in header.paragraphs:
print(paragraph.text) # or whatever you have in mind
我正在处理一个文档,该文档的标题用表格而不是简单的文本布置。在这种情况下,您需要使用rows
中的header.tables[0]
而不是段落。
答案 1 :(得分:0)
这是从docx页眉和页脚中获取文本的另一种简单方法。
import docx2python as docx2python
from docx2python.iterators import iter_paragraphs
doc = docx2python('file.docx')
header_text = '\n\n'.join(iter_paragraphs(doc.header))
footer_text = '\n\n'.join(iter_paragraphs(doc.footer))
docx2python
将提取页眉和页脚中的所有图像。在您的页眉和页脚文本中,这些将替换为----image1.png----
。