with one click
data-convert
// Convert between CSV, TSV, Excel, JSONL, Parquet, and other tabular formats
// Convert between CSV, TSV, Excel, JSONL, Parquet, and other tabular formats
Standard workflow order, tool selection matrix, and composition patterns for qsv CSV data wrangling
Respond to all pending review comments on the current PR — fetch comments, apply fixes, verify accuracy, test, commit, and reply. Use when addressing Copilot reviews, GitHub PR reviews, or any batch of review feedback.
Prepare an MCP server and plugin release by bumping versions across all files and updating changelog
Run SQL queries against CSV/TSV/Excel files using Polars SQL engine
Clean a CSV/TSV/Excel file - fix headers, trim whitespace, remove duplicates, validate
Generate AI-powered Data Dictionary, Description, and Tags for a CSV/TSV/Excel file
| name | data-convert |
| description | Convert between CSV, TSV, Excel, JSONL, Parquet, and other tabular formats |
| user-invocable | true |
| argument-hint | <file> [format] |
| allowed-tools | ["mcp__qsv__qsv_sniff","mcp__qsv__qsv_count","mcp__qsv__qsv_headers","mcp__qsv__qsv_index","mcp__qsv__qsv_command","mcp__qsv__qsv_to_parquet","mcp__qsv__qsv_list_files","mcp__qsv__qsv_search_tools","mcp__qsv__qsv_get_working_dir","mcp__qsv__qsv_set_working_dir"] |
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 sheet