返回 Skill 列表
extension
分类: 数据与分析无需 API Key

数据整形 格式转换 批量解析

将任意输入数据转换为结构化结果,支持批量与自定义格式。

person作者: user_2fd890c9hubcommunity

⚠️ 本内容仅供一般信息参考,不构成法律、财务、税务、投资或医疗建议。 涉及合同签署、报税、投资、诊疗等专业决策时,请务必咨询持证专业人士,并由使用者自行承担决策后果。

<!-- professional-disclaimer-injected -->

ambitious-sphinx — 数据整形与格式转换 Skill

一、能力边界(一页纸速查卡)

1.1 能做什么

| 能力项 | 说明 | 示例 | |--------|------|------| | 数据来源 | 支持粘贴文本、文件路径、示例数据三种输入方式 | data.txt{"a":1}、剪贴板内容 | | 输入格式 | 自动检测 JSON / CSV / 纯文本 / 键值对,也可手动指定 | 自动识别 [{"id":1},{"id":2}] 为 JSON 数组 | | 输出格式 | 支持 JSON、CSV、Markdown 表格三种输出 | 输出 result.json 或控制台打印 | | 字段映射 | 支持重命名字段、选择子集、添加计算列 | price * quantity 生成 total 列 | | 批量处理 | 支持多文件批量转换,自动汇总错误 | 一次处理 ./data/*.csv | | 自定义模板 | 支持嵌套字段展开、多表关联(需提供关联键) | 将 user.addr.city 展开为独立列 |

1.2 不能做什么

| 限制项 | 说明 | |--------|------| | 不处理二进制 | 不支持图片、音频、视频等非文本数据 | | 不解析无规则文本 | 非结构化散文、手写笔记等无法自动结构化 | | 不执行代码 | 计算列仅支持四则运算、字符串拼接、条件判断,不支持自定义函数 | | 不保证数据正确性 | 输入数据本身的错误(如拼写错误、逻辑矛盾)不会被修正 | | 不连接外部服务 | 不调用 API、不访问数据库、不联网查询 |

1.3 适用对象

  • 适合:需要快速将杂散数据整理为表格/JSON 的运营人员、数据分析师、开发者
  • 不适合:需要复杂 ETL 管道、实时流处理、机器学习特征工程的高级用户

二、触发方式(场景映射表)

| 你的需求(大白话) | 触发词 | 操作建议 | |-------------------|--------|----------| | "把这堆日志变成表格" | 数据转换、结构化处理 | 粘贴日志文本,指定输出为 CSV | | "我有 100 个文件要统一格式" | 批量解析、批量转换 | 传入文件夹路径,启用批量模式 | | "JSON 嵌套太深,想拍平" | 数据整形、字段映射 | 使用自定义模板展开嵌套字段 | | "CSV 里日期格式不统一" | 数据清洗、格式转换 | 使用计算列 + 条件判断统一格式 | | "这个 API 返回的数据想存数据库" | 结构化处理、格式转换 | 输出为 JSON,指定字段映射 |


三、标准流程(Step 1-4)

3.1 前置条件

  • 输入数据为 UTF-8 编码的文本
  • 文件路径可访问(本地或挂载卷)
  • 单次处理数据量建议 ≤ 100MB(超过请分批)

3.2 执行步骤

Step 1:提供数据

选择以下任一方式:

# 方式一:粘贴文本(直接作为参数)
python main.py --input '{"name":"张三","age":30}'

# 方式二:文件路径
python main.py --input ./data/input.json

# 方式三:示例数据(内置演示集)
python main.py --demo

Step 2:指定输入格式(可选)

# 自动检测(默认)
python main.py --input data.txt

# 手动指定
python main.py --input data.txt --input-format csv

支持的格式:jsoncsvtext(键值对)、auto(默认)

Step 3:配置输出

# 输出为 JSON(默认)
python main.py --input data.json --output-format json

# 输出为 CSV
python main.py --input data.json --output-format csv

# 输出为 Markdown 表格
python main.py --input data.json --output-format table

# 输出到文件
python main.py --input data.json --output ./result/out.csv

Step 4:字段映射(可选)

# 重命名字段
python main.py --input data.json --map "name:姓名,age:年龄"

# 选择子集
python main.py --input data.json --select "id,name"

# 添加计算列
python main.py --input data.json --compute "total=price*quantity"

3.3 输出规范

每次转换完成后,输出包含两部分:

  1. 结构化结果:按指定格式输出的数据
  2. 处理摘要
处理摘要
--------
输入记录数:1,234
输出字段数:8
耗时估算:0.32 秒
错误记录:2(已跳过,详见错误报告)

四、置信度门控(防编造机制)

4.1 何时启用

当遇到以下情况时,系统不会猜测数据,而是输出占位符:

| 场景 | 占位符 | 示例 | |------|--------|------| | 字段缺失 | [需核实:字段名] | 输入缺少 email 字段 → 输出 [需核实:email] | | 格式歧义 | [需核实:格式] | 日期 03/04/2025 无法确定是 3 月 4 日还是 4 月 3 日 | | 映射冲突 | [需核实:映射] | 两个源字段映射到同一目标字段 | | 计算异常 | [需核实:计算] | 除数为零、类型不匹配 |

4.2 使用规则

  1. 占位符不会被静默替换,需用户明确确认后才处理
  2. 批量模式下,含占位符的记录会单独标记,不混入正常结果
  3. 用户可通过 --strict 参数将占位符视为错误(中断处理)

五、错误码体系

| 错误码 | 含义 | 提示话术 | 修正步骤 | |--------|------|----------|----------| | E001 | 输入为空 | "未检测到输入数据,请检查数据源" | 确认粘贴内容非空 / 文件路径正确 | | E002 | 格式无法识别 | "无法自动检测输入格式,请手动指定 --input-format" | 使用 --input-format json/csv/text | | E003 | 字段映射失败 | "映射字段 'xxx' 在源数据中不存在" | 检查 --map 参数中的源字段名 | | E004 | 计算列表达式错误 | "计算列 'total' 表达式语法错误" | 检查 --compute 参数,仅支持 + - * / 和括号 | | E005 | 输出路径不可写 | "无法写入输出文件,请检查路径权限" | 确认目录存在且可写 | | E006 | 批量处理中断 | "第 3 个文件处理失败,已跳过,继续处理其余文件" | 查看错误报告,单独处理失败文件 | | E007 | 数据量超限 | "输入数据超过 100MB 限制,请分批处理" | 拆分文件或使用 --batch-size 参数 |


六、FAQ 反模式(常见坑对照)

| 反模式 | 错误做法 | 正确做法 | |--------|----------|----------| | 忽略格式检测 | 直接粘贴混合格式数据(JSON+CSV) | 先分离数据源,或手动指定格式 | | 过度依赖自动映射 | 期望系统自动理解"客户ID"和"customer_id"是同一字段 | 显式使用 --map "customer_id:客户ID" | | 批量处理不设防 | 直接处理整个文件夹,不预览结果 | 先处理 1 个文件验证,再全量执行 | | 计算列滥用 | 在计算列中写复杂逻辑(if-else 嵌套) | 拆分为多个简单计算列,或预处理数据 | | 忽略错误报告 | 只看成功结果,不检查跳过记录 | 每次批量处理后查看错误汇总 |


七、渐进式披露(分层次阅读路径)

7.1 速查卡(30 秒上手)

# 最小可用命令
python main.py --input your_data.json --output-format csv

7.2 新手路径(5 分钟)

  1. 阅读「能力边界」确认需求匹配
  2. 使用 --demo 运行示例,观察输出格式
  3. --input 传入自己的数据,逐步添加 --output-format--map 参数

7.3 进阶路径(15 分钟)

  1. 掌握「自定义格式」:组合 --map--select--compute
  2. 理解「置信度门控」:处理含缺失字段的数据集
  3. 批量处理:使用 --batch-size 1000 分批处理大文件
  4. 自定义模板:编写 JSON 模板文件,实现嵌套字段展开

八、自定义模板(进阶用法)

8.1 模板文件格式

{
  "output_fields": ["id", "full_name", "total_price"],
  "field_mapping": {
    "id": "user.id",
    "full_name": "concat(first_name, ' ', last_name)",
    "total_price": "price * quantity"
  },
  "nested_expand": ["user.address"]
}

8.2 使用方式

python main.py --input data.json --template ./template.json

8.3 多表关联

{
  "join": {
    "left_key": "user_id",
    "right_file": "./users.csv",
    "right_key": "id",
    "select": ["name", "email"]
  }
}

九、性能优化建议

| 场景 | 建议 | |------|------| | 大文件(>10MB) | 使用 --batch-size 5000 分批处理 | | 多文件批量 | 使用 --parallel 4 启用 4 线程并行 | | 内存紧张 | 使用 --stream 流式处理,不加载全部数据到内存 | | 频繁重复转换 | 将参数写入配置文件,使用 --config 加载 |


十、用户协议

<!-- user-agreement-injected -->

使用本 Skill 即表示您同意以下条款:

  1. 责任承担:使用者自行承担因使用本 Skill 产生的全部责任。包括但不限于数据准确性、合规性、以及因输出结果引发的任何直接或间接损失。

  2. 禁止反向工程:使用者不得对本 Skill 进行反向工程、反编译、破解或试图提取底层算法。

  3. 合规使用:使用者应确保输入数据合法合规,不得使用本 Skill 处理违法、侵权或敏感数据。

  4. 无担保:本 Skill 按"原样"提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权性。

  5. 修改与分发:使用者可基于 MIT 许可证条款修改和分发本 Skill,但需保留原始版权声明。


十一、许可证(License)

<!-- professional-license-embedded -->

MIT License

Copyright (c) 2025 原创作者(自持版权)

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 辅助生成,仅供参考。使用前请阅读相关文档。