Convert between CSV, TSV, Excel, JSONL, Parquet, and other tabular formats
Convert tabular data files between formats.
Cowork note: If relative paths don't resolve, call
mcp__qsv__qsv_get_working_dirandmcp__qsv__qsv_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 | mcp__qsv__qsv_to_parquet (core tool) | .parquet |
| XLSX | to xlsx (via mcp__qsv__qsv_command) | .xlsx |
| ODS | to ods (via mcp__qsv__qsv_command) | .ods |
| SQLite | to sqlite (via mcp__qsv__qsv_command) | .db |
| PostgreSQL | to postgres (via mcp__qsv__qsv_command) | N/A |
| Data Package | to datapackage (via mcp__qsv__qsv_command) | .json |
Index: Run mcp__qsv__qsv_index on the file for fast random access in subsequent steps.
Detect source format: Run mcp__qsv__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 mcp__qsv__qsv_command with excel for explicit control over sheet selection.
To TSV: Use mcp__qsv__qsv_command with command: "fmt", options: {"out-delimiter": "\t"}.
To JSONL: Use mcp__qsv__qsv_command with command: "tojsonl".
To Parquet (single file): Use mcp__qsv__qsv_to_parquet (core tool) — auto-generates stats cache and Polars schema for optimal type inference.
To Parquet (batch): Use mcp__qsv__qsv_command with command: "to", subcommand: "parquet", destination: "output_dir" for batch conversion with explicit compression control.
To XLSX: Use mcp__qsv__qsv_command with command: "to", subcommand: "xlsx", destination: "output.xlsx".
To ODS: Use mcp__qsv__qsv_command with command: "to", subcommand: "ods", destination: "output.ods".
To SQLite: Use mcp__qsv__qsv_command with command: "to", subcommand: "sqlite", destination: "output.db".
To PostgreSQL: Use mcp__qsv__qsv_command with command: "to", subcommand: "postgres", destination: "connection_string".
To Data Package: Use mcp__qsv__qsv_command with command: "to", subcommand: "datapackage", destination: "output.json".
Verify output: Run mcp__qsv__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 sheet17c10db
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.