读取word文字

读取Word所有内容

from docx import Document
文件 = Document('c:/test.docx')
for 段落 in 文件.paragraphs:
    print(段落.text)

读取一级标题

from docx import Document
文件 = Document('c:/test.docx')
for 段落 in 文件.paragraphs:
    if 段落.style.name == 'Heading 1':
        print(段落.text)

读取二级标题

from docx import Document
文件 = Document('c:/test.docx')
for 段落 in 文件.paragraphs:
    if 段落.style.name == 'Heading 2':
        print(段落.text)

读取所有标题

from docx import Document
import re
文件 = Document('c:/test.docx')
for 段落 in 文件.paragraphs:
    if re.match("^Heading \d+$",段落.style.name):
        print(段落.text)

读取正文

from docx import Document
文件 = Document('c:/test.docx')
for 段落 in 文件.paragraphs:
    if 段落.style.name=='Normal':
        print(段落.text)

读取标题名称

from docx.enum.style import WD_STYLE_TYPE
from docx import Document
文件 = Document('c:/test.docx')
标题 = 文件.styles
for i in 标题:
    if i.type==WD_STYLE_TYPE.PARAGRAPH:
        print(i.name)

写入word文字

添加标题

from docx import Document
文件 = Document('c:/test.docx')
文件.add_heading("我是一级标题",level=1)
文件.save('c:/test.docx')

添加正文

from docx import Document
文件 = Document('c:/test.docx')
文件.add_paragraph("我是正文")
文件.save('c:/test.docx')

添加分页符

from docx import Document
文件 = Document('c:/test.docx')
文件.add_page_break()
文件.save('c:/test.docx')

添加文字块

from docx import Document
文件 = Document('c:/test.docx')
a = 文件.add_paragraph('我是正文在我后面添加的文字会被设置格式:')
a.add_run('加粗').bold = True
a.add_run('普通')
a.add_run('斜体').italic = True
文件.save('c:/test.docx')

段落的定位

from docx import Document
文件 = Document('c:/test.docx')
print(len(文件.paragraphs))
段落 = 文件.paragraphs[1]
print(段落.text)

指定段落处添加段落

from docx import Document
文件 = Document('c:/test.docx')
段落 = 文件.paragraphs[1]  # 获取第二个段落
段落.insert_paragraph_before('这是添加的新的第二个段落') # 在第二个段落处插入
文件.save('c:/test.docx')