Skip to content

Releases: shenwei356/csvtk

csvtk v0.30.0

15 Mar 08:10
Choose a tag to compare


  • csvtk v0.30.0 Github Releases (by Release)
    • 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


OS Arch File, 中国镜像 Download Count
Linux 32-bit csvtk_linux_386.tar.gz,
Github Releases (by Asset)
Linux 64-bit csvtk_linux_amd64.tar.gz,
Github Releases (by Asset)
Linux 64-bit csvtk_linux_arm64.tar.gz,
Github Releases (by Asset)
macOS 64-bit csvtk_darwin_amd64.tar.gz,
Github Releases (by Asset)
macOS arm64 csvtk_darwin_arm64.tar.gz,
Github Releases (by Asset)
Windows 32-bit csvtk_windows_386.exe.tar.gz,
Github Releases (by Asset)
Windows 64-bit csvtk_windows_amd64.exe.tar.gz,
Github Releases (by Asset)


  • run csvtk version to check update !!!
  • run csvtk genautocomplete to update Bash completion !!!

csvtk v0.29.0

27 Nov 14:35
Choose a tag to compare


  • csvtk v0.29.0 Github Releases (by Release)
    • 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.

csvtk v0.28.0

22 Sep 02:20
Choose a tag to compare


  • csvtk v0.28.0 Github Releases (by Release)
    • csvtk:
      • add the shortcut -X for the flag --infile-list. #249
    • csvtk pretty:
      • support field ranges for -m/--align-center and -r/--align-right. #244
    • csvtk spread:
      • support values sharing the same keys. #248
    • csvtk join:
      • a new flag -P/--prefix-duplicates: add filenames as colname prefixes only for duplicated colnames. #246
    • csvtk mutate2:
      • fix changing the order of the header row, the code was accidentally missing during code refactoring in v0.27.0. #252
    • csvtk xlsx2csv:
      • fix open /tmp/excelize-: no such file or directory error for big .xlsx files. #251
    • csvtk comb:
      • fix the empty result bug for alphabet sizes greater than 64.

csvtk v0.27.2

20 Aug 07:25
Choose a tag to compare


  • csvtk v0.27.2 Github Releases (by Release)
    • 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 pretty names.csv -S 3line
          id   first_name   last_name   username
          11   Rob          Pike        rob
          2    Ken          Thompson    ken
          4    Robert       Griesemer   gri
          1    Robert       Thompson    abc
          NA   Robert       Abel        123
    • csvtk csv2xlsx:

      • binaries compiled with go1.21 would result in a broken xlsx file. #243
    • csvtk splitxlsx:

      • fix the error of invalid worksheet index. #1617

csvtk v0.27.1

17 Aug 07:57
Choose a tag to compare


  • csvtk v0.27.1 Github Releases (by Release)
    • csvtk filter2/mutate2:
      • fix the bug of selecting with field numbers. #242


15 Aug 00:25
Choose a tag to compare


  • csvtk v0.27.0 Github Releases (by Release)
    • 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.

csvtk v0.26.0

29 Jun 15:40
Choose a tag to compare


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

csvtk v0.25.0

22 Sep 09:39
Choose a tag to compare


  • csvtk v0.25.0 Github Releases (by Release)
    • 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)}. #186
    • csvtk sort: fix checking non-existed fileds.
    • csvtk plot box/hist/line: new flag --skip-na for skipping missing data. #188
    • csvtk csv2xlsx: stores number as float. #192
    • csvtk summary: new functions argmin and argmax. #181

csvtk v0.24.0

24 Nov 05:49
Choose a tag to compare


  • csvtk v0.24.0 Github Releases (by Release)
    • 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

csvtk v0.23.0

16 Apr 05:31
Choose a tag to compare


  • 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