江东的笔记

Be overcome difficulties is victory

0%

python读取word文档

读取文章并输出各级标题

读取文件内容

1
2
from docx import Document
file = Document("E:\\File\\大一\\大一下学期/马克思.docx")

我们直接输出文章内容是不可以的:

1
2
print(file)
# <docx.document.Document object at 0x000002686EE048C0>

我们可以使用循环的方式进行输出text文本:

1
2
3
# 输出内容
for run in file.paragraphs:
print(run.text)

输出文章的标题

输出文章的1级标题

1
2
3
for run in file.paragraphs:
if run.style.name == "Heading 1": # 'Heading 2' 表示二级标题...
print(run.text)

输出文章的多级标题

1
2
3
4
# 输出所有标题
for run in file.paragraphs:
if re.match('^Heading \d+$', run.style.name):
print(run.text)

输出正文

1
2
3
4
# 输出正文
for run in file.paragraphs:
if run.style.name == "Normal":
print(run.text)

输出段落内容:

输出一段的内容

1
2
file.paragraphs[0].text
# 如果该段为空格或者其他非段落内容,则输出这一行

输出所有段落的内容

1
2
for i in range(len(file.paragraphs)):
print(i, file.paragraphs[0].text)

保存文章

1
file.save("E:/aa.docx")