使用python-docx对doc文档修改页眉时,遇到的一点小问题

之前在百度和google搜到的也修改页眉的方式,代码如下

import docx
# 打开 Word 文档
doc = docx.Document('sample.docx')
# 遍历每个节
for section in doc.sections:
# 获取节的页眉
header = section.header
# 获取页眉中的段落
p = header.paragraphs[0]
# 替换段落中的文本
p.text = '新的页眉'
# 保存修改后的文档
doc.save('new.docx')

我的页眉格式如图所示

我是想替代括号中的内容为其他内容,但是运行上述代码后,效果如下图所示

不管我怎么修改,都只能在横线下面对页眉做修改,一时间也没找到其他方法,有点迷茫

突然发现一件事,就是横线上方,页眉部分貌似添加了一个表格,我在对text做修改当然没法修改表格内容,于是我换了思路,对header的tables做遍历修改,果然成功,代码如下:

doc = docx.Document('file//result.docx')
# 遍历每个节
for section in doc.sections:
    header = section.header
    print_tabl(header)
    tabl = header.tables
    num = 0
    for i in tabl:
        for j in i.rows:
            for cell in j.cells:
                for paragraph in cell.paragraphs:
                    for run in paragraph.runs:
                        if run.text == '{{Title activity Ring ID}}':
                            run.text = 'the real ID'

BTW竟然没有一篇文章讲到页眉添加表格的.....

你可能感兴趣的:(python,开发语言,docx)