/splitcsv

A cli tool to split csv files

Primary LanguagePythonThe UnlicenseUnlicense

CSV-Split

https://pypi.org/project/csv-split/

pip install csv-split

Vertical splitting (columns)

Splits a given CSV file vertically. Accepts either a batch-size, or a split-pattern to create multiple files from a single files. All files will contain different columns of original csv. Order of columns will be maintained.

Horizontal splitting (rows)

Not supported yet

Usage

The below command will take large-file.csv and split it vertically into 3 files. First file will have 10 columns, 2nd file will have 5, and the 3rd will have 12. If there are more columns in the original file, they will be ignored.

csv-split -i ~/Downloads/large-file.csv -p 10,5,12

Instead of split-pattern, you can also specify batch size.

csv-split -i ~/Downloads/large-file.csv -b 7

By default, all the output files will be stored in a new directory called output. Generated file names will have index number appended. For example, large-file_1.csv, large-file_2.csv, ...

If you want to change the output directory, you can use -o option as shown below.

csv-split -i ~/Downloads/large-file.csv -b 10 -o ~/Downloads/splitted-data/

If this directory does not exist, it will be created.

This will create csv files and each csv file will contain 7 columns. Number of output files will depend on number of columns in input files.