shenwei356 / csvtk

A cross-platform, efficient and practical CSV/TSV toolkit in Golang
http://bioinf.shenwei.me/csvtk
MIT License
992 stars 84 forks source link

header names for new columns created with 'summary' #254

Closed MostafaYA closed 10 months ago

MostafaYA commented 11 months ago

Prerequisites

Describe your issue

Hi, may you consider changing ":" with "_" for the auto generated column headers after running some commands like summary because I thinks it conflicts with other commands when piping the output and I have to correct this with rename .

here is an example

cat test
f1,f2,f3,f4,f5
foo,bar,xyz,1,0
foo,bar2,xyz,1.5,-1
foo,bar2,xyz,3,2
foo,bar,xyz,5,3
foo,bar2,xyz,N/A,4
bar,xyz,abc,NA,2
bar,xyz,abc2,1,-1
bar,xyz,abc,2,0
bar,xyz,abc,1,5
bar,xyz,abc,3,100
bar,xyz2,abc3,2,3
cat test | csvtk summary -g f1,f2  -f f5:median | csvtk sort -k "f5:median":nr
[ERRO] invalid sort type: median}

This however works

cat test | csvtk summary -g f1,f2  -f f5:median | csvtk sort -k 3:nr

Thank you

I'm grateful to users who have greatly helped to report bugs and suggested new features.

I may respond to issues or fix bugs quickly, but I usually implement new features periodically (two or more weeks).

shenwei356 commented 11 months ago

I make csvtk sort supporting column names containing colons.

$ cat test | csvtk summary -g f1,f2  -f f5:median -i | csvtk sort -k "f5:median":nr | csvtk pretty 
f1    f2     f5:median
---   ----   ---------
bar   xyz2   NaN      
foo   bar2   2.00     
bar   xyz    2.00     
foo   bar    1.50