A cross-platform, efficient and practical CSV/TSV toolkit in Golang
csvtk
:
csvtk csv2xlsx
for converting CSV/TSV file(s) to a single .xlsx
file.csvtk unfold
for unfolding multiple values in cells of a field. #103
csvtk collapse
to csvtk fold
, for folding multiple values of a field into cells of groups.csvtk cut
: support range format 2-
to choose 2nd column to the end. #106
csvtk round
: fix bug of failing to round scientific notation with value small than one, e.g., 7.1E-1
.csvtk nrow/ncol
for printing number of rows or columns.round
to round float to n decimal places. #112
csvtk headers
: file name and column index is optional outputted with new flag -v/--verbose
.csvtk dim
: new flags --tabluar
, --cols
, --rows
, -n/--no-files
.csvtk dim/ncol/nrow
: can handle empty files now. #108
csvtk csv2json
#104:
-b/--blank
: do not convert "", "na", "n/a", "none", "null", "." to null-n/--parse-num
: parse numeric values for nth column(s), multiple values are supported and "a"/"all" for all columns.csvtk xlsx2csv
: fix output for ragged table. #110
csvtk join
: fix bug for joining >2 files.csvtk uniq
: new flag -n/--keep-n
for keeping first N records of every key.csvtk cut
: support repeatedly selecting columns. #106
csvtk comb
: compute combinations of items at every row.csvtk sep
: separate column into multiple columns. #96
csvtk
:
-I
) and empty (-E
) rows. #97
--infile-list
for giving file of input files list (one file per line), if given, they are appended to files from cli argumentscsvtk join
:
csvtk filter2
: fix bug when column names start with digits, e.g., 1000g2015aug
. Thank @VorontsovIE (#44)csvtk concat
: allow one input file. #98
csvtk mutate
: new flag -R/--remove
for removing input column.csvtk
:
csvtk cut -f a, b
.csvtk summary
: fix err of q1 and q3. #90
csvtk version
: making checking update optional.watch
: online monitoring and histogram of selected field.corr
: calculate Pearson correlation between numeric columns.cat
: stream file and report progress.csvtk split
: fix bug of repeatedly output header line when number of output files exceed value of --buf-groups
. #83
csvtk plot hist
: new option --percentiles
to add percentiles to histogram x label. #88
csvtk replace/rename2/splitxlsx
: fix flag conflicts with global flag -I
since v0.18.0.csvtk replace/rename2
: removing shorthand flag -I
for --key-capt-idx
.csvtk splitxlsx
: changing shorthand flag of --sheet-index
from -I
to -N
.csvtk
: add new flag --ignore-illegal-row
to skip illegal rows. #72
csvtk summary
: add more textual/numeric operations. #64
csvtk sort
: fix bug for sorting by columns with empty values. #70
csvtk grep
: add new flag --delete-matched
to delete a pattern right after being matched, this keeps the firstly matched data and speedups when using regular expressions. #77
csvtk add-header
and csvtk del-header
for adding/deleting column names. #62
csvtk csv2json
: convert CSV to JSON format.csvtk stats2
.csvtk summary
: summary statistics of selected digital fields (groupby group fields), usage and examples. #59
csvtk replace
: add flag --nr-width
: minimum width for {nr} in flag -r/--replacement. e.g., formating "1" to "001" by --nr-width 3
(default 1)csvtk rename2/replace
: add flag -A, --kv-file-all-left-columns-as-value
, for treating all columns except 1th one as value for kv-file with more than 2 columns. #56