Skip to content
Back to top
View this page

# 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

See also

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 qsv’s `replace` command or miller (`mlr put`).

To transpose CSVs, consider qsv’s `flatten` command or miller’s XTAB support (`mlr --oxtab`).

## 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