本帖最后由 homejun 于 2025-4-2 18:41 编辑
某提案汇总文档没有做目录,wps、word自带的功能也不能正确提取目录,就用python写了一个提取word文档目录的代码。
使用前需安装库:
pip install python-docx
修改了一下,用正则表达式来取提案号,避免取错
修改了二下,正则+开头来取提案号,且提案号数字最多三位,提高容错度
[Python] 纯文本查看 复制代码 import re
from docx import Document
# 遍历文档中的段,取目录
def get_table_of_contents(doc):
toc = []
tmp=""
i=0
for paragraph in doc.paragraphs:
match i:
case 0:
if re.search("第\\d{1,3}号", paragraph.text) and paragraph.text.startswith("第") and len(paragraph.text)<=5:
tmp=paragraph.text
i=1
case 1:
if paragraph.text.startswith("案 由:"):
toc.append(tmp+" "+paragraph.text.strip("案 由:"))
i=0
return toc
# 打开Word文档
doc = Document("D:\\1.docx")
# 取目录
table_of_contents = get_table_of_contents(doc)
# 遍历打印目录
for para in table_of_contents:
print(para)
|