OpenClaw 最实用 Skills 技巧之《data-extractor》- 完整教程
OpenClaw 最实用 Skills 技巧之《data-extractor》- 完整教程
| 发布日期:2026-05-24
| 系列:OpenClaw 最实用 Skills 技巧
| 难度:★★★进阶
| 阅读时间:10分钟

手动录入?那得录到天亮。
今天介绍的 data-extractor,就是专门解决「从文档里批量提取结构化数据」这个痛点的。不管是PDF发票、Word合同、Excel表格,还是邮件附件,它都能自动识别内容、提取关键字段,直接输出成你要的格式。
一、data-extractor 是什么?
⭐ 关键要点:data-extractor 是 OpenClaw 的高级扩展技能,专门从各类文档中提取结构化数据,告别手动录入
简单说,这个技能帮你把文档里「乱七八糟的内容」变成「整齐划一的数据」。
它底层用的是开源库 unstructured(GitHub 14k+ Star),专门做文档解析和数据提取。不管你的文件是PDF、Word、Excel,还是邮件、HTML、纯文本,它都能自动识别格式,把里面的内容拆解成结构化的元素,附上页码、坐标、分类标签等元数据。
对做财务、行政、数据分析的人来说,这技能就是批量处理文档的利器。
|
📄 功能 |
描述 |
|
🏷️ 自动格式识别 |
丢进去什么文件都行,自动检测类型并选择最佳解析策略 |
|
📊 表格智能提取 |
自动识别文档中的表格,保留行列结构,输出为 HTML 或 JSON |
|
🔍 模板化提取 |
针对发票、合同等固定格式文档,自定义提取模板批量抓取关键字段 |
|
📑 元数据丰富 |
每个提取元素附带页码、文件名、坐标位置等上下文信息 |
|
🔄 多格式输出 |
支持输出 JSON、DataFrame、CSV、Excel,直接对接下游系统 |
⭐ 关键要点:data-extractor 覆盖 9 大文档格式,几乎你能碰到的文件类型都支持
|
📁 格式 |
解析函数 |
说明 |
|
|
partition_pdf |
原生PDF + 扫描件(需OCR) |
|
Word (.docx) |
partition_docx |
完整保留文档结构 |
|
PowerPoint |
partition_pptx |
提取幻灯片内容和备注 |
|
Excel |
partition_xlsx |
读取工作表和表格数据 |
|
邮件 (.eml/.msg) |
partition_email |
提取正文、附件和邮件头信息 |
|
HTML |
partition_html |
保留标签语义结构 |
|
Markdown |
partition_md |
保持标题层级和格式 |
|
纯文本 |
partition_text |
基础文本解析 |
|
图片 |
partition_image |
OCR 文字识别提取 |
PDF——这是 data-extractor 的主场。电子生成的PDF(比如从财务软件导出的发票)直接解析,准确率90%以上。扫描件PDF会自动启用OCR模式,不过识别率受扫描质量影响,重要文件建议人工复核。
邮件——这个很多人不知道,但特别好用。收到的邮件带PDF附件?直接把 .eml 文件丢给 data-extractor,正文和附件内容一次性提取出来,省得你一个个下载再处理。

三、三种提取模式详解
⭐ 关键要点:根据文档格式是否固定,选择对应的提取模式——模板提取、自由提取、表格提取
模式一:模板化提取(格式固定文档)
最适合发票、订单、银行流水这类「长得都差不多」的文档。
核心思路:先定义一个提取模板,告诉 OpenClaw「发票号码在’发票号码:’后面」「金额在’合计金额’右侧」——然后用这个模板去批量处理同类型的所有文档。
定义模板的方式有三种:
1. 关键词锚点(最常用):找到目标数据附近的固定文字作为锚点。比如发票上”发票号码:”这四个字位置基本不变,那就用它当锚点,取它右边的值
2. 区域框选:直接在样本文档上画个框,框住数据出现的位置。适合没有明显关键词但位置固定的场景
3. 固定坐标:精确指定像素位置。只适用于格式完全锁死的文档,一般不推荐
模式二:自由文本提取(格式不固定)
对于格式不统一的文档(比如各种风格的合同、调研报告),没法用模板,那就用自由提取。
data-extractor 会自动把文档拆解成不同类型的元素:
• Title——标题
• NarrativeText——正文段落
• Table——表格
• ListItem——列表项
• Header / Footer——页眉页脚
• PageBreak——分页符
每个元素都会带上元数据:所在页码、文件名、文档中的坐标位置,方便你后续定位和筛选。
模式三:表格专项提取
表格是文档里最难处理的部分。data-extractor 的表格提取有专门的增强策略:
• 自动识别表格边界和行列结构
• 合并单元格的识别和处理
• 表格输出自带 text_as_html 字段,可以直接还原成 HTML 表格
• 复杂PDF中的表格支持高分辨率模式(hi-res),识别精度大幅提升
四、安装与配置
⭐ 关键要点:基础安装一行命令搞定,需要OCR和复杂PDF解析的装增强包
安装技能
// bash # 推荐:通过 OpenClaw CLI 安装 openclaw skill install data-extractor # 备选:手动安装到技能目录 mkdir -p ~/.openclaw/skills/data-extractor # 将 SKILL.md 和脚本文件放入该目录
// bash # 基础安装(覆盖常见文档格式) pip install unstructured # 推荐:完整安装(包含OCR、复杂PDF解析等全部能力) pip install “unstructured[all-docs]”
五、快速上手
⭐ 关键要点:三步走——给文档、提要求、拿数据
场景1:提取发票信息
对话指令:
用 data-extractor 提取这份发票的关键信息:发票号码、开票日期、销售方名称、不含税金额、税额、价税合计。文件路径:/documents/发票-202603.pdf,返回JSON格式。
场景2:批量提取订单数据
对话指令:
批量提取 /orders/ 文件夹中所有文档的订单号、客户姓名、收货地址、商品名称、订单金额,保存为 CSV 文件。
场景3:解析邮件附件
对话指令:
解析这封邮件 /emails/客户回复.eml,提取邮件正文内容,同时提取附件中的合同关键条款,一起汇总给我。
场景4:创建提取模板
对话指令:
用 data-extractor 定义一个增值税发票提取模板,提取字段包括:发票号码、开票日期、购买方名称、销售方名称、金额、税额、价税合计。模板名称就叫”增值税发票”。
模板定义好后,以后碰到同类发票直接用就行:
对话指令:
用”增值税发票”模板批量提取 /invoices/2026/ 文件夹下所有PDF,结果保存为Excel。

六、提取数据结构说明
⭐ 关键要点:每个提取元素都有标准化的结构,包含文本、分类、元数据和唯一ID
|
字段 |
类型 |
说明 |
|
text |
String |
提取出的原始文本内容 |
|
category |
String |
元素分类(Title / NarrativeText / Table / ListItem 等) |
|
metadata |
Object |
上下文元数据:页码、文件名、坐标位置等 |
|
id |
String |
元素的唯一哈希标识 |
七、最佳实践
⭐ 关键要点:固定格式做模板,不固定做自由提取,复杂表格开hi-res模式
推荐使用场景
1. 🧾 财务发票批量处理——定义发票模板后,一次性提取几十上百份发票的关键字段,直接输出Excel
2. 📋 合同信息归档——从甲方乙方名称、签约日期、付款条款到关键责任条款,批量整理入库
3. 📧 邮件附件自动处理——邮件到达后自动提取附件内容,解析关键字段,推送到业务系统
4. 📊 调研报告数据汇总——从多份不同格式的报告PDF中提取数据表格,统一汇总分析
5. 🗂️ 历史文档数字化——把纸质的旧文件扫描后批量提取文字和数据,实现档案数字化
常见错误与正确做法
❌ 对扫描件PDF用自由提取,结果全是空白
✅ 扫描件必须启用OCR模式:在指令中明确说”使用OCR识别”,或配置 PDF_EXTRACTOR_OCR_MODE=auto
❌ 一次性丢几百个文件进去处理,内存溢出报错
✅ 大批量文件分批处理,每批20-50份,避免内存爆掉
❌ 表格提取结果全是乱码或合并单元格错位
✅ 开启高分辨率模式(hi-res),在指令中加”使用高精度表格提取”
❌ 提取模板只在一个样本上测试就上线批量用
✅ 至少用3-5份不同的样本验证模板准确性,再批量执行
❌ 提取结果直接入库,不做人工抽检
✅ 首次使用模板时,随机抽5-10%的结果人工核对,确认准确率达标
八、高级技巧
⭐ 关键要点:语义分块、多线程批量、输出格式转换,让提取效率翻倍
📌 语义分块:data-extractor 支持按标题语义自动分块(chunking by title),保持上下文完整性。这在搭 RAG 知识库时特别有用——不是按字数粗暴切分,而是按逻辑段落切块,检索效果更好
📌 多线程批量处理:处理大量文档时,可以开启多线程模式并发处理。在脚本中配置 ThreadPoolExecutor,吞吐量能提升3-5倍
📌 输出格式灵活转换:提取结果可以导出为 Pandas DataFrame、JSON 字符串、CSV 文件,一条命令切换格式。需要进数据库的用 JSON,需要人看的用 Excel,需要脚本处理的用 DataFrame
📌 搭配 batch-rename 使用:提取完数据后,用 batch-rename 技能按提取到的信息(比如发票号、合同编号)自动重命名文件,实现文档的自动化归档整理
📌 搭配 doc-compare 使用:提取完合同关键条款后,用 doc-compare 对比新旧版本差异,快速定位条款变更点
九、总结
Skill 价值 ✅
• 从手动录入到自动提取,效率提升10倍以上
• 模板一次定义、反复使用,同类型文档处理零门槛
• 9大格式全覆盖,不用为不同文件类型学不同工具
• 输出格式灵活,直接对接 Excel / 数据库 / RAG 系统
适合用户 👤
• 每天要处理大量发票、合同、报表的财务/行政人员
• 需要从文档中批量提取数据做分析的数据分析师
• 搭建知识库或 RAG 系统、需要把文档转成结构化数据的开发者
• 任何被”手动录入文档数据”折磨过的人
🎁 福利时间:扫码注册扣子,即得3000积分!也可点击底部”阅读原文”直接跳转

🔥 关注公众号「智康实验室」
1. 回复「OpenClaw」获取完整技能清单 + 安装包
2. 回复「数据提取」获取发票/合同提取模板示例文件
3. 加入交流群,遇到提取问题随时有人帮
📌 下期预告:《OpenClaw 最实用 Skills 技巧之《ocr-local》- 完整教程》——本地OCR增强技能详解,扫描件识别准确率再上一个台阶!
十、FAQ
Q:data-extractor 处理扫描件PDF效果怎么样?
A:基础模式对扫描件效果一般,需要配合OCR才能提取文字。建议搭配 ocr-local 技能使用,识别率和速度都更好。关键文档务必人工抽检验证。
Q:模板定义复杂吗?零基础能上手吗?
A:关键词锚点方式很简单,就是”找到固定文字,取它旁边的值”。区域框选更直观,直接在界面上画框就行。建议从简单模板开始,先用一份样本跑通,再逐步加字段。
Q:处理几百份文件需要多久?
A:看文件类型和大小。原生PDF大约2秒/页,扫描件PDF开OCR大约5-8秒/页。100份10页的电子发票,大约5-10分钟就能全部提取完。
Q:提取的准确率有多少?
A:电子生成的文档(如财务软件导出的PDF)准确率90%+;扫描件看扫描质量,好的85%+,模糊的可能降到70%以下;手写内容最差,大约70-80%。建议首次使用时做人工抽检。
Q:和 pdf-extractor 技能什么区别?
A:pdf-extractor 专注于PDF文档的读取、摘要和问答;data-extractor 侧重于结构化数据提取,支持更多格式,有模板化批量提取能力。两者互补,复杂场景可以组合使用。
文 | 智能时代观察者
公众号·智康实验室
夜雨聆风