What it does
csvkit is a suite of tools for converting to and working with CSV. It handles spreadsheet and JSON inputs, output formatting, column selection, filtering, and SQL-related workflows.
Pipe a source through in2csv to produce CSV, then use csvformat for output delimiters/line endings or csvjson for JSON. in2csv accepts a named file or standard input, with explicit Excel sheet selection, JSON object keys and a required schema for fixed-width records. CSV dialect detection samples the first 1024 bytes by default; disable it with --snifflimit 0 and disable CSV type inference with --no-inference when text representations matter. These controls do not make every spreadsheet value text: the guide explains that equivalent-looking XLS and XLSX cells can produce different integer/decimal representations. The MIT suite also filters/selects columns and provides SQL import/query commands, which require their database connection rather than an account with csvkit.
Strengths
- Separates conversion, formatting, and data-selection commands.
Watch out for
- Automatic dialect and type inference can misinterpret some inputs.
Best for
- Repeatable structured-data conversion in scripts
Sources
- csvkit 2.2.0 documentation (Oct 26, 2026)
- in2csv - csvkit2.2.0 documentation (Oct 26, 2026)
- License - csvkit2.2.0 documentation (Oct 26, 2026)