CLI 工作流

用 CLI 分析 CSV 文件

先 profile 文件,再用 DuckDB 或 csvkit 本地查询,并把分析结果与源文件分开保存。

数据与文本本地写入

开始前准备好工具、认证与证据

先安装推荐工具,确认最小权限,再区分兼容性和真实执行记录。

csvstatdocs-verified
通过可组合的命令行工具检查、转换、查询和重塑 CSV 数据。

推荐安装

$ shell
pipx install csvkit
认证
基础操作无需认证
已测试 Agent
暂无 Agent 级执行记录
证据状态
docs-verified · 文档检查 2026-07-10
CLI 独立执行
未记录独立执行版本
duckdbdocs-verified
使用快速 SQL 和结构化导出直接查询本地文件与分析数据。

推荐安装

$ shell
brew install duckdb
认证
基础操作无需认证
已测试 Agent
暂无 Agent 级执行记录
证据状态
docs-verified · 文档检查 2026-07-10
CLI 独立执行
未记录独立执行版本
jqverified
在本地以确定性输出解析、筛选、校验和转换 JSON。

推荐安装

$ shell
brew install jq
认证
基础操作无需认证
已测试 Agent
暂无 Agent 级执行记录
证据状态
verified · 文档检查 2026-07-10
CLI 独立执行
jq-1.7.1-apple · 4 项检查

复制或下载本工作流 Skill

Skill 包含输入输出合同、推荐工具、审批点、回滚和证据边界;保存前仍应按当前环境审查。

analyze-csv-SKILL.md
---
name: analyze-csv-workflow
description: "先 profile 文件,再用 DuckDB 或 csvkit 本地查询,并把分析结果与源文件分开保存。"
---

# 分析 CSV 文件

## 适用目标

用可复现命令回答表格数据问题,并清楚说明数据质量限制。

## 证据边界

- 工具状态分别标注 `docs-verified` 与真实独立执行;二者不能互换。
- 当前注册表没有记录某次工具执行具体由哪个 Agent 完成,因此不能把“兼容 Agent”称为“已测试 Agent”。
- 执行前重新核对目标账户、环境、版本与官方文档。
- 不自动执行 R2、R3 或任何标记为需要确认的步骤;必须在执行前获得明确批准。

## 推荐工具、安装与认证

- **csvkit**(证据:`docs-verified`,文档检查:`2026-07-10`,未记录独立执行版本)
  - 安装:`pipx install csvkit`
  - 认证:基础操作无需认证
  - 最小权限:无需服务凭据;仍应把文件系统和网络访问限制在任务范围内。
- **DuckDB CLI**(证据:`docs-verified`,文档检查:`2026-07-10`,未记录独立执行版本)
  - 安装:`brew install duckdb`
  - 认证:基础操作无需认证
  - 最小权限:无需服务凭据;仍应把文件系统和网络访问限制在任务范围内。
- **jq**(证据:`verified`,文档检查:`2026-07-10`,已记录独立测试版本 jq-1.7.1-apple)
  - 安装:`brew install jq`
  - 认证:基础操作无需认证
  - 最小权限:无需服务凭据;仍应把文件系统和网络访问限制在任务范围内。

## 输入合同

- CSV 路径
- 分析问题
- 分隔符和编码假设
- 敏感字段规则

## 输出合同

- Schema profile
- 有限查询结果
- 摘要表
- 数据质量警告

## 安全工作流

1. **Profile 文件** — 检查大小、Header、推断类型、空值和小样本。
   - 输入: 源 CSV
   - 输出: Schema 与质量概览
   - 风险: `read-only`
   - 命令: `duckdb -c "describe select * from read_csv_auto('input.csv')"`
2. **执行有限分析** — 运行明确 SELECT,不 attach 或写入外部数据库。
   - 输入: 已审查 SQL 和源文件
   - 输出: CSV 或 JSON 查询结果
   - 风险: `read-only`
   - 命令: `duckdb -csv -c "select category, count(*) from read_csv_auto('input.csv') group by 1 order by 2 desc"`
3. **保存可复现摘要** — 在独立产物中记录命令、假设、行数和警告。
   - 输入: 结果和 profile
   - 输出: 分析报告
   - 风险: `local-write`

## 必须先确认

- 上传数据集
- 覆盖或重写源 CSV
- 关联敏感数据或导出行级记录

## 回滚

- 把分析输出放在独立目录
- 删除包含敏感字段的临时提取
- 若替换已有报告则从版本控制恢复

## 官方来源

- [DuckDB CLI documentation](https://duckdb.org/docs/stable/clients/cli/overview.html) — 用于核对当前命令、认证、输出和操作边界。
- [jq manual](https://jqlang.github.io/jq/manual/) — 用于核对当前命令、认证、输出和操作边界。

目标、输入与输出

在 Agent 选择命令前,先明确要交付的结果和证据。

目标

用可复现命令回答表格数据问题,并清楚说明数据质量限制。

所需输入

  • CSV 路径
  • 分析问题
  • 分隔符和编码假设
  • 敏感字段规则

预期输出

  • Schema profile
  • 有限查询结果
  • 摘要表
  • 数据质量警告

用 CLI 分析 CSV 文件:安全执行步骤

每一步都要在已声明的边界内执行,验证输出后再继续。

步骤 1只读

Profile 文件

检查大小、Header、推断类型、空值和小样本。
输入
源 CSV
输出
Schema 与质量概览
$ Profile 文件
duckdb -c "describe select * from read_csv_auto('input.csv')"
步骤 2只读

执行有限分析

运行明确 SELECT,不 attach 或写入外部数据库。
输入
已审查 SQL 和源文件
输出
CSV 或 JSON 查询结果
$ 执行有限分析
duckdb -csv -c "select category, count(*) from read_csv_auto('input.csv') group by 1 order by 2 desc"
步骤 3本地写入

保存可复现摘要

在独立产物中记录命令、假设、行数和警告。
输入
结果和 profile
输出
分析报告

审批点与回滚

在列出的决策点停下,并让恢复方法始终紧跟操作。

这些操作需要先确认

  • 上传数据集
  • 覆盖或重写源 CSV
  • 关联敏感数据或导出行级记录

恢复计划

  • 把分析输出放在独立目录
  • 删除包含敏感字段的临时提取
  • 若替换已有报告则从版本控制恢复

选 CLI、MCP 还是 API?

根据执行位置、身份、输出合同与权限边界选接口。

CLI

最适合留在本机的可重复分析。

MCP

数据位于受治理分析系统并提供获批查询工具时适用。

API

数据集和分析合同由共享服务提供时使用。

建议方案

SQL 分析用 DuckDB;轻量 CSV 检查和转换用 csvkit。

官方证据与参考

执行前使用这些官方或上游来源确认当前命令行为。

DuckDB CLI documentation

用于核对本页涉及的当前命令、认证、输出格式与操作边界。

jq manual

用于核对本页涉及的当前命令、认证、输出格式与操作边界。

执行前的常见问题

类型推断一定正确吗?

不一定。日期、前导零、空值标记或混合类型重要时,应检查并明确解析选项。

Agent 应该把 CSV 导入生产库吗?

分析任务不应该。默认保持本地只读,导入应是单独批准的任务。

相关工具与指南

浏览同类指南,选择与你当前任务最接近的下一页。

继续查看与当前任务相关的工具证据、工作流或决策指南。

继续查看与当前任务相关的工具证据、工作流或决策指南。

继续查看与当前任务相关的工具证据、工作流或决策指南。

检查安装、认证、结构化输出、命令风险与官方证据。

检查安装、认证、结构化输出、命令风险与官方证据。