csvtk icon indicating copy to clipboard operation
csvtk copied to clipboard

Allow `summary` to specify fields fuzzily like with other subcommands

Open ynadji opened this issue 1 year ago • 2 comments

Prerequisites

  • [x] make sure you're are using the latest version by csvtk version
¡ csvtk version
csvtk v0.30.0

Describe your issue

  • [x] describe the problem
  • [x] provide a reproducible example

I wanted to get the max of every column in a wide dataset with csvtk summary, but had to specify each column by hand. I think being able to use fuzzy field (and operator!) matches would be pretty cool. Some examples:

# Give the max for every column.
¡ echo -e 'a,b,c\n1,2,3\n4,5,6\n7,8,9' | csvtk summary -f "*:max"
[ERRO] column "*" not existed in file: -

# What I need to manually do to make it work
¡ echo -e 'a,b,c\n1,2,3\n4,5,6\n7,8,9' | csvtk summary -f a:max -f b:max -f c:max
a:max,b:max,c:max
7.00,8.00,9.00

# Provide all summaries for column a
¡ echo -e 'a,b,c\n1,2,3\n4,5,6\n7,8,9' | csvtk summary -f "a:*"  
[ERRO] invalid operation: *. run "csvtk summary --help" for help

# Provide all summaries for all columns
¡ echo -e 'a,b,c\n1,2,3\n4,5,6\n7,8,9' | csvtk summary -f "*:*"  
[ERRO] invalid operation: *. run "csvtk summary --help" for help

Thank you

Thanks so much for this great tool! It's already helping me out a lot in my workflow :).

ynadji avatar May 30 '24 13:05 ynadji

Sorry, I'm very busy recently. Let's leave it open for the future.

shenwei356 avatar May 31 '24 13:05 shenwei356

Sorry, I'm very busy recently. Let's leave it open for the future.

no problem of course! if it bothers me enough i'll try and implement it myself and send a PR 👌

ynadji avatar May 31 '24 13:05 ynadji