cognis-digital/csvlens

GitHub: cognis-digital/csvlens

一款快速命令行工具,用于对海量 CSV/Parquet 文件进行数据探查、清洗和 CI 质量门控。

Stars: 0 | Forks: 0

CSVLENS # CSVLENS ### 用于分析和清洗海量 CSV / Parquet 文件的快速 CLI [![PyPI](https://img.shields.io/pypi/v/cognis-csvlens.svg?color=6b46c1)](https://pypi.org/project/cognis-csvlens/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/2b6753047e061428.svg)](https://github.com/cognis-digital/csvlens/actions) [![License: COCL 1.0](https://img.shields.io/badge/License-COCL%201.0-2b6cb0.svg)](LICENSE) [![Suite](https://img.shields.io/badge/Cognis-Neural%20Suite-6b46c1.svg)](https://github.com/cognis-digital) *数据与数据集 — 零配置实现质量、血缘和治理。*
``` pip install cognis-csvlens csvlens scan . # → prioritized findings in seconds ``` ## 使用说明 — 分步指南 1. 安装 CLI (Python 3.9+): pip install csvlens # 或者:从检出的代码中运行 pip install . 2. 分析 CSV — `profile` 子命令会推断列类型并报告统计信息(空值、唯一值、最小值/最大值/平均值): csvlens profile data.csv 3. 查看行或按名称提取列: csvlens head data.csv -n 20 csvlens select data.csv -c name,email,signup_date -n 100 4. 清洗文件 — 修剪、去重、删除空行并填充空值,将结果写入输出路径: csvlens clean data.csv -o clean.csv --fill-null NA 5. 使用全局 `--format json` 标志(位于子命令之前)以编程方式读取分析结果,并在 CI 中实施数据质量门控: csvlens --format json profile data.csv | jq '.column_stats[] | select(.nulls > 0)' ## 目录 - [为什么选择 csvlens?](#why) · [功能](#features) · [快速开始](#quick-start) · [示例](#example) · [架构](#architecture) · [AI 技术栈](#ai-stack) · [对比](#how-it-compares) · [集成](#integrations) · [随处安装](#install-anywhere) · [相关工具](#related) · [贡献](#contributing) ## 为什么选择 csvlens? 单一二进制数据工具,极具传播性 `csvlens` 是单一用途、可脚本化且可自托管的:将其指向目标,以您的工作流已有的格式(表格 · JSON · SARIF)获取优先排序的结果,在此基础上对 CI 进行门控,并让 agent 通过 MCP 驱动它。
↑ 回到顶部
## 功能 - ✅ 检测 Dialect - ✅ 分析 Csv - ✅ 清洗 Csv - ✅ 查看 Csv 头部 - ✅ 提取列 - ✅ 支持 Linux/macOS/Windows · Docker · devcontainer 运行 - ✅ 提供 Python、JavaScript、Go 和 Rust 版本 (`ports/`)
↑ 回到顶部
## 快速开始 ``` pip install cognis-csvlens csvlens --version csvlens scan . # scan current project csvlens scan . --format json # machine-readable csvlens scan . --fail-on high # CI gate (non-zero exit) ```
↑ 回到顶部
## 示例 ``` $ csvlens scan . [HIGH ] CSV-001 example finding (./src/app.py) [MEDIUM ] CSV-002 another signal (./config.yaml) 2 findings · risk score 5 · 38ms ```
↑ 回到顶部
## 架构 ``` flowchart LR IN[input] --> P[csvlens
analyze + score] P --> OUT[report] ```
↑ 回到顶部
## 从任何 AI 技术栈中使用 `csvlens` 可以与所有流行的 AI 使用方式互操作: - **MCP server** — `csvlens mcp` (Claude Desktop, Cursor, Cognis.Studio, [uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet)) - **兼容 OpenAI / JSON** — 将 `csvlens scan . --format json` 通过管道传递给任何 agent 或 LLM - **LangChain · CrewAI · AutoGen · LlamaIndex** — 一行代码即可将 CLI/JSON 封装为工具 - **CI / 脚本** — 为非 AI pipeline 提供 exit code 和 SARIF
↑ 回到顶部
## 对比 | | **Cognis csvlens** | xsv | |---|:---:|:---:| | 可自托管,无需账号 | ✅ | 视情况而定 | | 单一命令,零配置 | ✅ | ⚠️ | | 为 CI 提供 JSON 和 SARIF | ✅ | 视情况而定 | | MCP 原生支持 (AI agents) | ✅ | ❌ | | 多语言端口 (JS/Go/Rust) | ✅ | ❌ | | 开源许可 | ✅ COCL | 视情况而定 | *秉承 **xsv / qsv** 的精神,以 Cognis 的方式重新构建。遗漏了鸣谢?欢迎提交 PR。*
↑ 回到顶部
## 集成 接入您的技术栈:用于代码扫描的 **SARIF**,用于一切的 **JSON**,用于 AI agent 的 **MCP server** (`csvlens mcp`),以及用于 SIEM/Slack/Jira 的 webhook 转发器。详见 [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md)。
↑ 回到顶部
## 安装 — 各种方式,所有平台 ``` pip install "git+https://github.com/cognis-digital/csvlens.git" # pip (works today) pipx install "git+https://github.com/cognis-digital/csvlens.git" # isolated CLI uv tool install "git+https://github.com/cognis-digital/csvlens.git" # uv pip install cognis-csvlens # PyPI (when published) docker run --rm ghcr.io/cognis-digital/csvlens:latest --help # Docker brew install cognis-digital/tap/csvlens # Homebrew tap curl -fsSL https://raw.githubusercontent.com/cognis-digital/csvlens/main/install.sh | sh ``` | Linux | macOS | Windows | Docker | 云平台 | |---|---|---|---|---| | `scripts/setup-linux.sh` | `scripts/setup-macos.sh` | `scripts/setup-windows.ps1` | `docker run ghcr.io/cognis-digital/csvlens` | [DEPLOY.md](docs/DEPLOY.md) (AWS/Azure/GCP/k8s) |
↑ 回到顶部
## 相关 Cognis 工具 - [`duckprobe`](https://github.com/cognis-digital/duckprobe) — 通过 DuckDB 对任何文件或数据仓库进行零设置的数据质量检查 - [`schemadrift`](https://github.com/cognis-digital/schemadrift) — Schema 变更检测器和数据契约测试 - [`piiscan`](https://github.com/cognis-digital/piiscan) — 跨数据仓库和数据湖进行 PII 发现(数据侧扫描器) - [`lineagemap`](https://github.com/cognis-digital/lineagemap) — 从 SQL 和 dbt 中提取列级别的血缘 - [`datasetcard`](https://github.com/cognis-digital/datasetcard) — 带有 Croissant + 溯源的自动 Dataset Cards / datasheets - [`seedforge`](https://github.com/cognis-digital/seedforge) — 具有引用完整性的合成测试数据生成器 **探索套件 →** [🗂️ 所有 170+ 工具](https://github.com/cognis-digital/cognis-neural-suite) · [⭐ awesome-cognis](https://github.com/cognis-digital/awesome-cognis) · [🔗 cognis-sources](https://github.com/cognis-digital/cognis-sources) · [🤖 uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet) · [🧠 engram](https://github.com/cognis-digital/engram)
↑ 回到顶部
## 互操作性 `{}` 与包含 300+ 工具的 Cognis 套件相组合 — JSON 输入/输出以及共享的 兼容 OpenAI 的 `/v1` 主干网络。有关套件映射、组合模式和参考技术栈,请参阅 **[INTEROP.md](INTEROP.md)**。 ## 许可证 在 **Cognis Open Collaboration License (COCL) v1.0** 下提供源代码 — 可免费用于个人、内部评估、研究和教育用途;**商业 / 生产环境使用需要获得许可** (licensing@cognis.digital)。请参阅 [LICENSE](LICENSE)。
Cognis Digital · Cognis Neural Suite 中的 170+ 工具之一 · 让明天在今天更美好
标签:Parquet, Python, 代码示例, 可视化界面, 数据分析, 数据可视化, 数据清洗, 无后门, 日志审计, 请求拦截, 逆向工具