csvtk (CSV Tool Kit) Changelog

What's new in csvtk (CSV Tool Kit) 0.30.0

Mar 15, 2024
  • csvtk:
  • grouping subcommands in help message.
  • add a new global flag --quiet. #261
  • add a new global flag -U, --delete-header for disable outputing the header row. Supported commands: concat, csv2tab/tab2csv, csv2xlsx/xlsx2csv, cut, filter, filter2, freq, fold/unfold, gather, fmtdate, grep, head, join, mutate, mutate2, replace, round, sample. #258
  • support more commands with -Z/--show-row-number: head.
  • csvtk dim:
  • fix duplicated rows for multiple input files, this bug was introduced in v0.27.0.
  • csvtk concat:
  • fix panic when no data found. #259
  • csvtk spread:
  • fix flag checking of -k and -v.
  • csvtk sort:
  • fix ordering when given multiple custom levels.
  • csvtk filter/filter2:
  • fix printing row number with -Z.
  • csvtk xls2csv:
  • output raw data. #262
  • csvtk pretty:
  • change the default value of -n/--buf-rows from 128 to 1024, and 0 for loading all data.
  • csvtk join:
  • new flag -s/--suffix for adding suffixes to colnames from each file. #263

New in csvtk (CSV Tool Kit) 0.29.0 (Nov 27, 2023)

  • New commands:
  • Fix-quotes: fix malformed CSV/TSV caused by double-quotes. #260
  • Del-quotes: remove extra double-quotes added by fix-quotes.
  • Csvtk del-header:
  • Fix deleting headers of 2nd and later files. #257
  • Csvtk concat:
  • Fix panic when no data found.
  • Csvtk sort:
  • Support column names containing colons. #254
  • Csvtk filter2:
  • Update doc: add the in keyword. #195
  • Fix specifying the position for the new column containing only a constant string. #252
  • Csvtk plot:
  • Add a new flag --tick-label-size.
  • Csvtk pretty:
  • Fix showing cell data containing "tabs", by replacing tabs with spaces.

New in csvtk (CSV Tool Kit) 0.28.0 (Sep 22, 2023)

  • csvtk:
  • Add the shortcut -X for the flag --infile-list.
  • csvtk pretty:
  • Support field ranges for -m/--align-center and -r/--align-right.
  • csvtk spread:
  • Support values sharing the same keys.
  • csvtk join:
  • A new flag -P/--prefix-duplicates: add filenames as colname prefixes only for duplicated colnames.
  • csvtk mutate2:
  • Fix changing the order of the header row, the code was accidentally missing during code refactoring in v0.27.0.
  • csvtk xlsx2csv:
  • Fix open /tmp/excelize-: no such file or directory error for big .xlsx files.
  • csvtk comb:
  • Fix the empty result bug for alphabet sizes greater than 64.

New in csvtk (CSV Tool Kit) 0.27.2 (Aug 20, 2023)

  • Csvtk pretty:
  • Fix the bug of empty first row with -H/--no-header-row, introduced in v0.27.0.
  • New style 3line for three-line table.
  • Csvtk csv2xlsx:
  • Binaries compiled with go1.21 would result in a broken xlsx file.
  • Csvtk splitxlsx:
  • Fix the error of invalid worksheet index.

New in csvtk (CSV Tool Kit) 0.27.1 (Aug 17, 2023)

  • csvtk filter2/mutate2:
  • Fix the bug of selecting with field numbers. #242

New in csvtk (CSV Tool Kit) 0.27.0 (Aug 15, 2023)

  • csvtk:
  • code refactoring and simplifying code, with 16% less code.
  • most commands support open column range syntax, e.g., csvtk grep -f 2-. #120
  • only selected column names are not allowed to be duplicated in the input data: box, corr, filter, filter2, fold, freq, gather, historysort, inter, join, line, mutate, mutate2, rename, replace, sep, split, summary, unfold, uniq, watch. Other commands do not have the restriction. #235
  • add a new global flag -Z/--show-row-number, supported commands: cut, csv2tab, csv2xlsx, tab2csv, pretty.
  • the colum name of row number changes from "n" to "row": csv2xlsx, csv2tab, cut, filter, filter2, grep, pretty, sample, tab2csv.
  • new command:
  • csvtk spread: spread a key-value pair across multiple columns, like tidyr::spread/pivot_wider.
  • #91, #236, #239
  • csvtk mutate/mutate2:
  • new flags --at, --before, --after for specifying the position of the new column. #193
  • csvtk cut:
  • fix unselect range error. #234
  • fix -i/--ignore-case.
  • csvtk pretty:
  • allow align-center and align-right for specific columns. #240
  • csvtk round:
  • fix bug of failing to round scientific notation with value small than one, e.g., 7.1E-1.
  • csvtk summary:
  • fix duplicated columns.
  • fix result error when multiple stats applied to the same column.
  • csvtk corr/watch:
  • rewrite and fix bug, support choosing fields with column names.

New in csvtk (CSV Tool Kit) 0.26.0 (Jun 29, 2023)

  • Near all commands skip empty files now.
  • The global flag --infile-list accepts stdin "-".
  • New command csvtk fix: fix CSV/TSV with different numbers of columns in rows.
  • csvtk pretty: rewrite to support wrapping cells.
  • csvtk cut/fmtdate/freq/grep/rename/rename2/replace/round: allow duplicated column names.
  • csvtk csv2xlsx: optionally stores numbers as float.
  • csvtk xlsx2csv: fix bug where xlsx2csv treats small number (padj < 1e-25) as 0. It's solved by updating the excelize package.
  • csvtk join: a new flag for adding filename as column name prefix. by @tetedange13
  • csvtk mutate2: fix wrongly treating strings like E10 as numbers in scientific notation.
  • csvtk sep: fix the logic. #
  • csvtk space2tab: fix "bufio.Scanner: token too long".

New in csvtk (CSV Tool Kit) 0.25.0 (Sep 22, 2022)

  • csvtk: report empty files.
  • csvtk join: fix loading file with no records.
  • csvtk filter2/muate2:
  • support variable format of ${var} with special charactors including commas, spaces, and parentheses, e.g., ${a,b}, ${a b}, or ${a (b)}.
  • csvtk sort: fix checking non-existed fileds.
  • csvtk plot box/hist/line: new flag --skip-na for skipping missing data.
  • csvtk csv2xlsx: stores number as float.
  • csvtk summary: new functions argmin and argmax.

New in csvtk (CSV Tool Kit) 0.24.0 (Nov 24, 2021)

  • Incompatible changes:
  • csvtk mutate2/summary:
  • mutate2: remove the option -L/--digits.
  • use the same option -w/--decimal-width to limit floats to N decimal points.
  • new command csvtk fmtdate: format date of selected fields. #159
  • csvtk grep: fix bug for searching with -r -p ..
  • csvtk csv2rst: fix bug for data containing unicode. #137
  • csvtk filter2: fix bug for date expression. #146
  • csvtk mutate2/filter2:
  • change the way of rexpression evaluation.
  • add custom functions: len(). #153
  • fix bug when using two or more columns with common prefixes in column names. #173
  • fix value with single or double quotes. #174
  • csvtk cut: new flags -m/--allow-missing-col and -b/--blank-missing-col. #156
  • csvtk pretty: still add header row for empty column.
  • csvtk csv2md: better format.
  • csvtk join: new flag -n/--ignore-null. #163

New in csvtk (CSV Tool Kit) 0.23.0 (Apr 16, 2021)

  • Changes
  • csvtk v0.23.0 Github Releases (by Release)
  • new comand: csvtk csv2rst for converting CSV to reStructuredText format. #137
  • csvtk pretty: add header separator line. #123
  • csvtk mutate2/summary: fix message and doc. Thanks @VladimirAlexiev #127
  • csvtk mutate2: fix null coalescence: ??. #129
  • csvtk genautocomplete: supports bash|zsh|fish|powershell. #126
  • csvtk cat: fix progress bar. #130
  • csvtk grep: new flag immediate-output.
  • csvtk csv2xlsx: fix bug for table with > 26 columns. 138

New in csvtk (CSV Tool Kit) 0.22.0 RC 2 (Jan 10, 2021)

  • Csvtk:
  • Global flag -t does not overide -D anymore. #114
  • If the executable/symlink name is tsvtk the -t/--tabs option for tab input is set. Thanks @bsipos. #117
  • New command: csvtk csv2xlsx for converting CSV/TSV file(s) to a single .xlsx file.
  • New command: csvtk unfold for unfolding multiple values in cells of a field. #103
  • Rename 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

New in csvtk (CSV Tool Kit) 0.21.0 (Jan 5, 2021)

  • new command: csvtk nrow/ncol for printing number of rows or columns
  • new command: 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
  • new flag -b/--blank: do not convert "", "na", "n/a", "none", "null", "." to null
  • new flag -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