Esplodere una lista di valori di un campo, e poi raggruppare
Come esplodere una lista di valori di un campo, e poi raggruppare per questi valori.
A cura di
Totò Fiandaca
| issue
#198
| guida/e
Andrea Borruso
Caso d’uso
Per ogni espressione ci sono vari tag
, ma più espressioni possono avere lo stesso tag
, esempio:
expression | tag |
---|---|
$vertex_y | current, coordinate |
$vertex_index | current |
$vertex_x | current, coordinate |
con Miller, come posso creare un CSV, a partire dall’esempio di sopra, con due colonne: tags
e expressions
: dove in tags c'è, appunto, il tag e nella colonna expressions tutte le espressioni che usano quel tag:
tags | expressions |
---|---|
current | $vertex_y,$vertex_index,… |
coordinate | $vertex_x,$vertex_y,… |
… | … |
soluzione
con Miller:
mlr --csv nest --evar "," -f tags then nest --ivar "," -f name tags_expressions.csv >out.csv
Riferimenti utili
Ultima modifica 10/02/2022: update (1a8751a)