Concatenate comma separated value files
csvcat reads one or more comma separated value text file (a CSV file) and outputs some or all of the data in the same format. It includes options for limiting and reordering the columns in the output, as well as skipping repeated headers.
The simplest way to install is using pip:
$ pip install csvcat
If you have already downloaded the source and unpacked it, you can also install by running:
$ sudo python setup.py install
Run csvcat --help for a complete description of all options, including examples of how to use the program in various modes.
The inputs to csvcat are any number of CSV files, and the output is CSV data printed to standard output. The examples listed below assume two simple CSV files.
$ cat testdata1.csv "Title 1","Title 2","Title 3" 1,"a",08/18/07 2,"b",08/19/07 3,"c",08/20/07 $ cat testdata2.csv Title 1,Title 2,Title 3 40,D,08/21/07 50,E,08/22/07 60,F,08/23/07
When given no options, csvcat simply prints the contents of an input file to standard output.
$ csvcat testdata1.csv Title 1,Title 2,Title 3 1,a,08/18/07 2,b,08/19/07 3,c,08/20/07
To select which columns should be included in the output, use the --columns option. Columns are identified by their number, beginning with 0. Column numbers can be listed in any order, so it is possible to reorder the columns of the input data, if needed.
$ csvcat --columns 2,0 testdata1.csv Title 3,Title 1 08/18/07,1 08/19/07,2 08/20/07,3
Different output formats can be selected by using the --dialect option. There are only two dialects available by default, but the csv module API supports registering additional dialects.
$ csvcat --dialect excel-tab testdata1.csv Title 1 Title 2 Title 3 1 a 08/18/07 2 b 08/19/07 3 c 08/20/07
To merge multiple files, only including a single set of headers, use the --skip-headers option:
$ csvcat --skip-headers --columns 2,0 testdata1.csv testdata2.csv Title 3,Title 1 08/18/07,1 08/19/07,2 08/20/07,3 08/21/07,40 08/22/07,50 08/23/07,60
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.