之前在百度和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竟然没有一篇文章讲到页眉添加表格的.....