Read Microsoft Word documents (.docx and .doc) with Chinese support

支持中英文的Word文档解析工具,可提取文本并搜索关键词。

已扫描
适合谁
需要批量处理Word文档的办公人员、从事文档分析或数据提取的技术用户
不适合谁
无需本地文档处理的普通用户、依赖在线服务或云端协作的用户
国内可用性
国内友好。面向国内用户较友好。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @vincent-big-fish/read-word

Skill 说明

命令、参数、文件名以原文为准

读取 Word 文档

一款专业的 Microsoft Word 文档读取工具,支持现代 .docx 格式和旧版 .doc 格式,并具备完整的中文语言支持。

功能特性

  • 读取 .docx 文件 - 支持 Word 2007 及以后版本格式
  • 读取 .doc 文件 - 通过 OLE 解析支持 Word 97-2003 格式
  • 自动格式识别 - 自动检测文件类型
  • 完整中文支持 - 正确处理中文编码
  • 关键词搜索 - 在所有段落中搜索关键词
  • 导出为文本 - 保存为 UTF-8 编码的文本文件
  • 文档分析 - 获取文档统计信息与元数据
  • 无需安装 Word - 不需要 Microsoft Word 环境即可运行

安装说明

前置依赖

pip install python-docx olefile

安装技能

# 复制到你的 OpenClaw 技能目录
cp -r read-word ~/.openclaw/skills/

使用方法

命令行使用

# 基本读取(显示前 100 段)
python ~/.openclaw/skills/read-word/read_word.py "document.docx"

# 显示更多内容
python ~/.openclaw/skills/read-word/read_word.py "document.docx" --limit 200

# 搜索关键词
python ~/.openclaw/skills/read-word/read_word.py "document.docx" --search "keyword1,keyword2"

# 导出为文本文件
python ~/.openclaw/skills/read-word/read_word.py "document.docx" --output "output.txt"

# 仅显示文档信息
python ~/.openclaw/skills/read-word/read_word.py "document.docx" --info

Python API 调用

# 方法一:导入函数
import sys
sys.path.insert(0, '~/.openclaw/skills/read-word')
from read_word import read_word_document, search_in_document

# 读取文档
paragraphs = read_word_document("document.docx")
for para in paragraphs:
    print(para)

# 搜索关键词
results = search_in_document("document.docx", ["keyword1", "keyword2"])

使用示例

示例 1:读取与分析

from read_word import read_word_document

paragraphs = read_word_document("report.docx")
print(f"文档包含 {len(paragraphs)} 段落")

# 显示前 10 段
for i, p in enumerate(paragraphs[:10]):
    print(f"{i+1}. {p}")

示例 2:关键词搜索

from read_word import search_in_document

# 查找包含“厨房”或“风水”的段落
results = search_in_document("book.docx", ["kitchen", "feng shui"])
for r in results:
    print(r)

示例 3:批量处理

from pathlib import Path
from read_word import read_word_document

desktop = Path.home() / "Desktop"
for doc_file in desktop.glob("*.docx"):
    paragraphs = read_word_document(doc_file)
    print(f"{doc_file.name}: {len(paragraphs)} 段落")

API 参考

read_word_document(filepath)

读取 Word 文档并返回段落列表。

参数:

  • filepath (str|Path): Word 文档路径

返回值:

  • list: 段落字符串列表

异常:

  • FileNotFoundError: 文件不存在时抛出
  • ValueError: 文件格式不受支持时抛出

search_in_document(filepath, keywords)

在 Word 文档中搜索关键词。

参数:

  • filepath (str|Path): Word 文档路径
  • keywords (list): 要搜索的关键词列表

返回值:

  • list: 匹配的段落,格式为 "[段落 N] 内容"

save_as_text(paragraphs, output_path)

将段落保存为 UTF-8 编码的文本文件。

参数:

  • paragraphs (list): 段落字符串列表
  • output_path (str|Path): 输出文件路径

analyze_document(filepath)

分析文档并返回统计信息。

返回值:

  • dict: 包含文件名、大小、段落数、总字符数等信息

常见问题排查

错误:ModuleNotFoundError: No module named 'docx'

解决方案: pip install python-docx

错误:旧版 .doc 文件显示乱码

原因: OLE 解析对复杂格式支持有限

解决方案: 使用 Microsoft Word 将 .doc 转换为 .docx 后再读取

错误:中文字符显示不正确

原因: 终端编码问题

解决方案: 使用 --output 参数导出到文件,再用编辑器打开查看

文件格式支持

格式扩展名支持程度
Word 2007+.docx完全支持
Word 97-2003.doc部分支持(仅文本)
Word 95/6.0.doc不支持
富文本格式.rtf不支持

权限说明

  • 读取权限:用户指定的 Word 文档
  • 写入权限(可选):使用 --output 时生成 .txt 文件
  • 网络访问:无

安全性说明

风险等级: - 仅执行本地文件操作,无网络访问,原始文件不会被修改。

更新日志

v1.0.0 (2026-03-20)

  • 初始版本发布
  • 支持 .docx 和 .doc 格式
  • 实现关键词搜索功能
  • 提供文本导出能力
  • 支持中文编码处理

作者

叶文洁 (Ye Wenjie) - 为阅读风水类书籍及 Word 文档而开发

许可证

MIT License

VB
@vincent-big-fish

已收录 1 个 Skill

相关推荐