Help us improve
Share bugs, ideas, or general feedback.
From qsv-data-wrangling
Convert tabular data between CSV, TSV, Excel, JSONL, Parquet, and other formats with auto-detection, indexing, and verification using qsv tools.
npx claudepluginhub dathere/qsv --plugin qsv-data-wranglingHow this skill is triggered — by the user, by Claude, or both
Slash command
/qsv-data-wrangling:data-convertThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Convert tabular data files between formats.
Converts data files between formats like CSV, Parquet, JSON, Excel, GeoJSON using DuckDB. Supports remote inputs and binary outputs Claude cannot generate natively.
Guides qsv-based CSV wrangling with standard workflow order, tool selection matrix for tasks like filtering/joining/aggregating, selection syntax, and pipeline patterns for cleaning/profiling.
Awk/sed/cut/join for CSV, TSV, JSON, and Parquet streams. Invoke `mlr` for record filtering, stats, joins, and format conversion on datasets that exceed RAM.
Share bugs, ideas, or general feedback.
Convert tabular data files between formats.
Cowork note: If relative paths don't resolve, call
qsv_get_working_dirandqsv_set_working_dirto sync the working directory.
.csv), TSV (.tsv/.tab), SSV (.ssv).xlsx, .xls, .xlsm, .xlsb).ods).jsonl, .ndjson).csv.sz, etc.)| Format | Command | Extension |
|---|---|---|
| CSV | select (identity) or fmt | .csv |
| TSV | fmt --out-delimiter '\t' | .tsv |
| JSONL | tojsonl | .jsonl |
| JSON | slice --json | .json |
| Parquet | qsv_to_parquet (core tool) | .parquet |
Index: Run qsv_index on the file for fast random access in subsequent steps.
Detect source format: Run qsv_sniff to identify the input format, delimiter, and encoding.
Convert: Use the appropriate command based on the target format:
To CSV (from Excel/JSONL): The MCP server handles this automatically when you pass non-CSV files to any qsv tool. Use qsv_command with excel for explicit control over sheet selection.
To TSV: Use qsv_command with command: "fmt", options: {"out-delimiter": "\t"}.
To JSONL: Use qsv_command with command: "tojsonl".
To Parquet: Use qsv_to_parquet (dedicated core tool).
Verify output: Run qsv_count on the output (if CSV-based) to confirm row count matches input.
--sheet to specify which sheet to convert (default: first sheet)stats --stats-jsonl first for better type inferencefmt commandexcel with --sheet for each sheet