csvkit is composed of command-line tools that can be divided into three major categories: Input, Processing, and Output. Documentation and examples for each tool are described on the following pages.


To transpose CSVs, consider csvtool. Install csvtool on Linux using your package manager, or on macOS using:

brew install ocaml
opam install csv
ln -s ~/.opam/system/bin/csvtool /usr/local/bin/
csvtool --help

To run sed-like commands on CSV files, consider csvsed.

Output and Analysis

To diff CSVs, consider daff. An alternative to csvsql is q.