Reference#

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.

Input#

Processing#

To deduplicate and merge CSV files, consider csvdedupe.

To change field values (i.e. to run sed or awk-like commands on CSV files), consider csvsed or miller (mlr put).

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

Output and Analysis#

  • To draw plots, consider jp.

  • To diff CSVs, consider daff.

  • To explore CSVs interactively, consider VisiData.

Alternatives to csvsql are q and textql.

Common arguments#