qsv logo

qsv

Rust CLI toolkit of composable commands for querying, transforming, validating, joining, and describing CSV, Excel, and other tabular data.

qsv is a command-line data-wrangling toolkit for tabular data, mainly CSV and its dialects, plus Excel and other formats. It provides many subcommands for querying, slicing, sorting, filtering, joining, transforming, validating, formatting, and converting data. Commands are meant to be composed in pipelines. The README presents speed as a core goal and links to published benchmarks.

The command list includes cat (concatenate by row or column), dedup, datefmt (reformats dates recognized from 19 formats), count, blake3 (file hashing), clipboard, diff, and color (prints a colorized table that fits the terminal, with Arrow, Avro/IPC, Parquet, and JSON/JSONL input when the "polars" feature is enabled). count is documented as taking 11.87 seconds on a 15 GB, 28M-row file without an index, and it is instantaneous with one. clean removes qsv-generated cache files. denull detects text null sentinels such as NULL or N/A, and --apply blanks them.

qsv also has data-enrichment and AI-assisted commands. apply runs string, date, math, and currency transformations on columns. It also offers NLP functions such as similarity, sentiment analysis, profanity detection, and language and name-gender detection. Its summarize subcommand and describegpt use any OpenAI API-compatible LLM, local or commercial. describegpt infers a data dictionary, description, and tags, or answers questions about a CSV using configurable MiniJinja prompt files. Output can be Markdown, JSON, TOON, or JSON Schema. For questions, it can generate SQL queries.

Beyond the CLI, the README lists an MCP server and a Cowork plugin as installation options, and it notes that Datapusher+ and CKAN integration is available through the qsvdp binary variant. The likely users are data analysts, data engineers, and open-data publishers who work with large CSV files from the terminal.

Alternatives & related tools

add a badge to your README

Maintain qsv? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/qsv.svg)](https://www.trmn.sh/tools/qsv?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/qsv?utm_source=badge"><img src="https://www.trmn.sh/badge/qsv.svg" alt="Featured on trmn" height="20"></a>