学习笔记:python读取word文字标题

读取word文字标题

1. 导入模块

  • 模块选择:使用python-docx模块处理Word文档,需从docx导入Document类
  • 版本注意:当前仅支持docx新版本,不再支持老版本doc格式

2. 安装模块

  • 安装命令:使用pip install python-docx安装,注意不是直接安装docx模块
  • 依赖关系:会自动安装lxml依赖库(版本需≥2.3.2)
  • 镜像源:默认使用清华镜像源加速下载,网络问题可能导致超时

3. 创建文件对象

  • 文档结构:示例文档包含一级标题、二级标题、三级标题和正文内容
  • 文件操作:
    • 打开文件:doc = Document('1.docx')创建文档对象
    • 样式导入:需从docx.enum.style导入WD_STYLE_TYPE枚举类

4. 读取一级标题

  • 核心方法:遍历doc.paragraphs获取所有段落
  • 样式判断:通过paragraph.style.name == 'Heading 1'识别一级标题
  • 内容获取:使用paragraph.text获取标题文本内容

5. 读取所有标题

  • 正则应用:使用re.match(r'Heading\d+$')匹配所有标题样式
  • 匹配模式:Heading后接数字表示标题级别(如Heading1/2/3)
  • 效率优化:避免多次遍历文档,可合并标题判断逻辑

6. 读取正文内容

  • 样式标识:正文样式名为'Normal'(注意首字母大写)
  • 内容特点:可能包含多段重复文本,需注意换行处理
  • 扩展应用:同样方法可处理页眉页脚等特殊段落

7. 读取样式名称

  • 样式遍历:通过doc.styles获取文档所有样式
  • 类型过滤:使用WD_STYLE_TYPE.PARAGRAPH筛选段落样式
  • 输出内容:包含Normal(正文)和Heading 1/2/3(标题)等样式名

8. 内容总结

  • 核心要点:
    • 标题识别依赖样式名称规范(Heading+数字)
    • 正文内容必须通过Normal样式获取
    • 样式系统包含更多元素(列表、页眉页脚等)
  • 注意事项:Word操作API缺乏智能提示,需准确记忆样式名称
  • 扩展建议:可结合正则表达式实现更复杂的文本提取逻辑

总结:

知识点

核心内容

考试重点/易混淆点

难度系数

Python操作Word文档

使用python-docx模块读取Word文档内容

模块安装注意:需安装paddle-docx而非直接安装docx

⭐⭐

标题读取方法

通过paragraph.style.name属性判断标题级别(Heading 1/2/3)

新旧版本兼容性:仅支持docx格式,不支持老版doc

⭐⭐

正文内容提取

使用normal样式标识正文段落

样式名称必须完全匹配(区分大小写)

标题类型枚举

通过wd.STYLE_TYPE获取文档包含的所有标题类型

需配合docx.enum.style枚举使用

⭐⭐⭐

正则表达式匹配

使用re.match()实现多级标题批量提取

模式字符串需包含Heading\s\d+结构

⭐⭐⭐

文档对象模型

Document.paragraphs属性获取所有段落对象

注意段落对象无智能提示特性

⭐⭐

posted @ 2025-06-09 12:15  乘着风·轻舟过  阅读(181)  评论(0)    收藏  举报