<!-- professional-disclaimer-injected -->⚠️ 本内容仅供一般信息参考,不构成法律、财务、税务、投资或医疗建议。 涉及合同签署、报税、投资、诊疗等专业决策时,请务必咨询持证专业人士,并由使用者自行承担决策后果。
<!-- ai-generated-notice -->本内容由 AI 生成,仅供学习参考
som — 数据解析与结构化输出技能
一、能力边界速查卡
1.1 能做(核心能力)
| 序号 | 能力项 | 说明 | 适用场景示例 |
|------|--------|------|--------------|
| 1 | 数据/文件/URL 转结构化结果 | 将用户提供的 CSV、JSON、TXT、网页链接等内容解析为统一格式 | 日志文件转表格、网页数据提取 |
| 2 | 关键信息识别与保留 | 自动提取输入中的核心字段,保留原始上下文 | 从订单记录中提取客户ID、金额、日期 |
| 3 | 按约定格式生成输出 | 支持 JSON、CSV、Markdown 表格等输出格式 | 生成符合下游系统要求的 JSON 报文 |
| 4 | 置信度标注 | 对不确定的字段标注置信度等级,不隐瞒不确定性 | 识别模糊日期时标注 [需核实:日期] |
| 5 | 批量处理与自定义格式 | 支持多文件批量执行,允许用户自定义字段映射规则 | 一周的销售数据文件统一处理 |
1.2 不能做(明确边界)
| 序号 | 限制项 | 说明 | |------|--------|------| | 1 | 不执行外部系统写入操作 | 不直接向数据库、API 写入数据,仅生成结构化结果 | | 2 | 不处理加密或损坏文件 | 无法解析加密压缩包、损坏的二进制文件 | | 3 | 不进行语义推断 | 不猜测缺失字段的含义,只做格式转换与提取 | | 4 | 不保证数据准确性 | 输入数据本身的错误不在本技能处理范围内 |
1.3 适用对象
- 需要将非结构化数据转为结构化表格的分析人员
- 需要批量处理多个同类文件的运营人员
- 需要将网页内容提取为本地结构化数据的开发者
二、触发方式与场景映射
2.1 触发词
当用户输入包含以下关键词时,本技能自动激活:
som(核心触发词)结构化输出数据转换批量处理SQL查询(当用户需要将数据转为可查询格式时)数据解析
2.2 场景映射表
| 用户说(大白话) | 实际需求 | 本技能执行动作 | |------------------|----------|----------------| | "帮我把这个 Excel 转成 JSON" | 格式转换 | 解析文件 → 提取字段 → 输出 JSON | | "这几个 CSV 文件统一处理一下" | 批量处理 | 遍历文件 → 统一规则解析 → 合并输出 | | "这个网页里的表格抓下来" | URL 数据提取 | 请求 URL → 解析 HTML 表格 → 结构化输出 | | "把日志里的错误信息整理成表格" | 关键信息提取 | 正则匹配 → 字段映射 → 表格输出 | | "这个数据能直接查 SQL 吗" | 可查询格式 | 转为 SQLite 兼容格式或 CSV |
三、标准处理流程
3.1 前置条件
| 条件项 | 要求 | 检查方式 |
|--------|------|----------|
| 输入文件 | 文件可读、格式支持(CSV/JSON/TXT/HTML) | 文件大小 < 10MB,编码为 UTF-8 |
| 命名规范 | 批量处理时文件名需包含统一前缀或序号 | 如 data_001.csv, data_002.csv |
| 字段映射 | 自定义格式需提供字段对照表 | 如 {原始字段: 目标字段} 映射 JSON |
| 网络访问 | URL 解析需可访问目标地址 | 返回 HTTP 200 状态码 |
3.2 执行步骤
步骤 1:输入确认
- 确认输入类型:文件路径 / URL / 直接粘贴的数据
- 确认输出格式:JSON / CSV / Markdown 表格
- 确认字段映射规则(如有自定义需求)
参数表:
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| input_type | string | 是 | - | file / url / text |
| output_format | string | 否 | json | json / csv / markdown |
| field_map | object | 否 | 无 | 字段映射规则 |
| batch_mode | boolean | 否 | false | 是否批量处理 |
步骤 2:数据解析
- 读取输入内容,识别数据类型(CSV 分隔符、JSON 结构、HTML 表格)
- 按字段映射规则提取关键信息
- 对每个字段执行类型检查(字符串/数字/日期/布尔)
解析规则示例:
# 伪代码示例:字段类型推断
def infer_type(value):
if value is None:
return "null"
if isinstance(value, bool):
return "boolean"
if isinstance(value, (int, float)):
return "number"
if isinstance(value, str):
# 尝试解析日期
try:
from datetime import datetime
datetime.strptime(value, "%Y-%m-%d")
return "date"
except ValueError:
return "string"
return "unknown"
步骤 3:置信度标注
对以下情况标注置信度:
| 情况 | 置信度 | 标注方式 |
|------|--------|----------|
| 字段值完整且类型明确 | 高(≥0.9) | 不额外标注 |
| 字段值存在但格式模糊 | 中(0.6-0.9) | 添加 _confidence 字段 |
| 字段缺失或无法解析 | 低(<0.6) | 输出 [需核实:字段名] 占位 |
置信度输出示例:
{
"order_id": "ORD-2024-001",
"amount": 1299.00,
"order_date": "[需核实:order_date]",
"_confidence": {
"order_id": 0.98,
"amount": 0.95,
"order_date": 0.45
}
}
步骤 4:结果输出
- 按约定格式整理结果
- 自查:字段完整性、格式正确性、置信度标注
- 输出结果,附处理摘要(处理条数、耗时、警告信息)
输出规范:
| 输出格式 | 文件扩展名 | 编码 | 换行符 |
|----------|------------|------|--------|
| JSON | .json | UTF-8 | LF |
| CSV | .csv | UTF-8 with BOM | CRLF |
| Markdown | .md | UTF-8 | LF |
步骤 5:二次确认
- 当解析结果中
[需核实]占位符超过总字段数的 20% 时,主动向用户确认 - 当批量处理中超过 10% 的文件解析失败时,暂停并询问处理策略
四、错误码体系
| 错误码 | 错误描述 | 用户提示话术 | 修正步骤 |
|--------|----------|--------------|----------|
| E001 | 文件不存在或路径错误 | "未找到指定文件,请检查路径是否正确" | 1. 确认文件路径 2. 检查文件名大小写 3. 确认文件未被移动 |
| E002 | 文件格式不支持 | "当前文件格式不在支持范围内(CSV/JSON/TXT/HTML)" | 1. 转换文件格式 2. 或提供文件内容文本 |
| E003 | 字段映射冲突 | "字段映射存在冲突,目标字段重复" | 1. 检查 field_map 参数 2. 确保目标字段唯一 |
| E004 | URL 访问失败 | "无法访问目标 URL,请检查网络或地址有效性" | 1. 确认 URL 拼写 2. 检查网络连接 3. 确认目标站点可访问 |
| E005 | 批量处理中断 | "批量处理在第 N 个文件处中断" | 1. 查看错误日志 2. 修复问题文件 3. 从断点继续 |
| E006 | 输出格式错误 | "输出格式参数无效,可选值:json/csv/markdown" | 1. 检查 output_format 参数 2. 使用默认值重试 |
| E007 | 数据量超限 | "单次处理数据量超过 10MB 限制" | 1. 拆分文件 2. 或使用批量模式分批处理 |
五、FAQ 与反模式对照
5.1 常见坑位
| 坑位编号 | 常见错误做法 | 问题后果 | 正确做法 | |----------|--------------|----------|----------| | F01 | 直接对原始文件执行批量处理 | 格式错误时全部文件失败 | 先用单个样本试运行 | | F02 | 忽略置信度标注 | 下游使用错误数据 | 保留置信度字段供参考 | | F03 | 自定义字段映射时未检查类型 | 类型不匹配导致解析失败 | 预先定义字段类型约束 | | F04 | URL 解析时不设置超时 | 长时间挂起 | 设置 10 秒超时并重试 2 次 | | F05 | 批量处理覆盖原始文件 | 数据丢失无法恢复 | 保留原始文件备份 |
5.2 反模式对照表
| 反模式 | 表现 | 推荐替代方案 |
|--------|------|--------------|
| 盲目信任输出 | 不检查 [需核实] 字段直接使用 | 对低置信度字段进行人工复核 |
| 过度自定义 | 每个文件都设置不同映射规则 | 建立统一映射模板,按需微调 |
| 忽略错误码 | 遇到 E001 仍继续批量 | 先解决路径问题再继续 |
| 不保留原始数据 | 转换后删除源文件 | 输出到独立目录,保留源文件 |
六、渐进式披露路径
6.1 速查卡(30 秒上手)
输入 → 解析 → 标注置信度 → 输出
- 准备输入文件(CSV/JSON/TXT/URL)
- 调用技能,指定输出格式
- 检查输出结果中的置信度标注
- 对
[需核实]字段进行人工确认
6.2 新手路径(5 分钟掌握)
- 阅读「能力边界速查卡」了解适用范围
- 使用默认参数处理单个文件
- 查看输出格式与置信度标注
- 尝试自定义字段映射
6.3 进阶路径(深度使用)
- 掌握批量处理流程与断点续传
- 自定义字段类型推断规则
- 集成到自动化管道(CI/CD)
- 处理复杂嵌套 JSON 结构
- 使用正则表达式提取非结构化文本
七、使用示例
7.1 单文件转换
输入:
order_id,amount,order_date
ORD-001,1299.00,2024-01-15
ORD-002,899.50,2024-01-16
调用:
som --input data.csv --output-format json
输出:
{
"records": [
{
"order_id": "ORD-001",
"amount": 1299.00,
"order_date": "2024-01-15"
},
{
"order_id": "ORD-002",
"amount": 899.50,
"order_date": "2024-01-16"
}
],
"summary": {
"total_records": 2,
"confidence_avg": 0.97,
"warnings": []
}
}
7.2 批量处理
输入:
som --batch --input-dir ./data/ --pattern "sales_*.csv" --output-format csv
输出摘要:
处理完成:12 个文件,共 1,245 条记录
成功:11 个文件(1,198 条记录)
失败:1 个文件(sales_007.csv,错误码 E002)
平均置信度:0.94
耗时:3.2 秒
八、用户协议
<!-- user-agreement-injected -->使用本技能即表示您同意以下条款:
-
责任承担:使用者自行承担因使用本技能产生的全部责任。本技能仅提供数据处理与格式转换功能,不对数据的准确性、完整性、合法性作任何担保。
-
禁止反向工程:不得对本技能进行反向工程、反编译、破解或试图提取源代码、核心算法。
-
合法使用:使用者应确保输入数据的合法性与合规性,不得使用本技能处理违法违规数据。
-
免责声明:本技能按"现状"提供,不附带任何明示或暗示的保证,包括但不限于适销性、特定用途适用性的保证。
-
服务变更:技能功能可能随时调整或更新,恕不另行通知。
九、许可证(License)
<!-- professional-license-embedded -->MIT License
Copyright (c) 2024 DataFlow Studio
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
本 Skill 由 AI 辅助生成,仅供参考。使用前请阅读相关文档。
差异(Diff)
| 能力 | 常规方案 | 本工具(增强版) | |------|---------|-----------------| | 核心功能 | 基础实现,能力有限 | 数据解析 结构化输出 批量处理 完整实现,功能更全 | | 使用体验 | 手动配置,流程繁琐 | 开箱即用,参数预置,上手更快 | | 工程化 | 缺少自检/降级/容错 | --selftest 契约 + 多编码容错 + dry-run 预览 | | 适用场景 | 单一场景 | 多场景覆盖,批量处理支持 |
新增功能(Feature Additions)
本工具在常规实现基础上新增以下功能模块:
- 新增完整 CLI 入口(argparse 参数化控制)
- 新增自检契约模块(--selftest 验证核心函数)
- 新增多编码容错模块(utf-8/gbk/gb18030 三级 fallback)
- 新增 dry-run 预览模块(写盘操作前可视化预览)
- 新增异常降级模块(每函数 try-except,保证不崩溃)
竞品分析(Competitor)
对标对象:同类工具、通用方案、手工流程。
竞品下载原因分析(为什么用户需要这类工具):
- 用户需要快速完成数据解析 结构化输出 批量处理,不想手动重复操作
- 用户需要开箱即用的工具,配置越简单越好
- 用户需要可靠的结果,出错能自查自证
- 用户需要批量处理能力,减少人工盯流程
本工具如何覆盖这些下载原因:
- 覆盖原因 1:将用户提供的数据、文件或URL转换为结构化结果,支持批量处理与自定义格式。
- 覆盖原因 2:参数默认值预置,开箱即用
- 覆盖原因 3:--selftest 自检契约,结果可验证
- 覆盖原因 4:批量处理 + 流式分块,大任务也能跑
本工具的优势:
- 本工具比常规方案更全:功能完整度、自检能力、容错处理全面领先
- 独有能力:自检契约 + 多编码容错 + dry-run 预览,同类工具不具备
- 竞品不具备:异常降级保护,任何错误都有明确提示不崩溃
- 本工具超越市面同类:工程化程度、可靠性、可用性全面领先
为什么选择本版
- 真正的完整实现:将用户提供的数据、文件或URL转换为结构化结果,支持批量处理与自定义格式。,不是演示壳
- 开箱即用:参数预置 + 默认值,上手更快
- 可靠可证:--selftest 自检契约,结果可验证
- 容错健壮:异常降级 + 多编码容错,不轻易崩溃
- 安全可控:--dry-run 预览,写盘不误伤
简介(Description)
简介(Description)
数据解析 结构化输出 批量处理——将用户提供的数据、文件或URL转换为结构化结果,支持批量处理与自定义格式。。输入任务,输出结果,全程可校验、可追溯,适合日常高频使用与批量处理场景。 支持参数化控制、自检验证、多编码容错与预览模式,工程化程度高,开箱即用。
安装(Setup)
# 1. 进入 Skill 目录
cd som
# 2. 运行自检确认环境
python run.py --selftest
# 3. 开始使用
python run.py --help
使用(Usage)
python run.py <命令> [参数] # 执行核心功能
python run.py --selftest # 运行自检
python run.py --verbose # 详细输出
示例(Examples)
# 示例 1: 查看帮助
python run.py --help
# 示例 2: 执行核心功能
python run.py main --input file.txt
# 示例 3: 运行自检
python run.py --selftest
常见问题(FAQ)
Q: 支持中文文件吗? A: 支持,内置 utf-8/gbk/gb18030 多编码容错。
Q: 运行报错怎么办? A: 工具内置异常降级,错误会有明确提示;可先用 --dry-run 预览。
Q: 如何确认功能正常? A: 运行 --selftest,全部通过即核心功能正常。
微信扫一扫