乐于分享
好东西不私藏

OpenClaw 最实用 Skills 技巧之《data-extractor》- 完整教程

OpenClaw 最实用 Skills 技巧之《data-extractor》- 完整教程

OpenClaw 最实用 Skills 技巧之《data-extractor》- 完整教程 

发布日期:2026-05-24

系列:OpenClaw 最实用 Skills 技巧

难度:★★★进阶

阅读时间:10分钟

你有没有遇到过这种场景——手里几十上百份发票PDF,需要把发票号、金额、日期一个个敲进Excel?或者一堆合同文档,要把甲乙方信息、付款条款整理成表格? 

手动录入?那得录到天亮。 

今天介绍的 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 大文档格式,几乎你能碰到的文件类型都支持 

📁 格式

解析函数

说明

PDF

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]”          

⚠️ 注意unstructured[all-docs] 包比较大,会安装 Tesseract OCR、poppler 等系统级依赖。如果你只处理 Word 和 Excel,基础安装就够了;需要处理扫描件PDF或图片的,才装完整版。 

五、快速上手 

⭐ 关键要点:三步走——给文档、提要求、拿数据 

场景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

元素的唯一哈希标识

表格类型的元素在 metadata 里会额外包含 text_as_html 字段,可以直接用来重建 HTML 表格,方便你在网页或文档中展示。

七、最佳实践

⭐ 关键要点:固定格式做模板,不固定做自由提取,复杂表格开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 侧重于结构化数据提取,支持更多格式,有模板化批量提取能力。两者互补,复杂场景可以组合使用。

文 | 智能时代观察者

公众号·智康实验室