Reference — csvkit 1.0.7 documentation

# 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

- in2csv
- sql2csv

## Processing

- csvclean
- csvcut
- csvgrep
- csvjoin
- csvsort
- csvstack

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

- csvformat
- csvjson
- csvlook
- csvpy
- csvsql
- csvstat

- 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

- Arguments common to all tools