flatten
for filters
Flatten the table.
Signature
> flatten {flags} ...rest
Flags
--all, -a
: flatten inner table one level out
Parameters
...rest
: Optionally flatten data by column.
Input/output types:
input | output |
---|---|
list<any> | list<any> |
record | table |
Examples
flatten a table
> [[N, u, s, h, e, l, l]] | flatten
╭───┬───╮
│ 0 │ N │
│ 1 │ u │
│ 2 │ s │
│ 3 │ h │
│ 4 │ e │
│ 5 │ l │
│ 6 │ l │
╰───┴───╯
flatten a table, get the first item
> [[N, u, s, h, e, l, l]] | flatten | first
flatten a column having a nested table
> [[origin, people]; [Ecuador, ([[name, meal]; ['Andres', 'arepa']])]] | flatten --all | get meal
restrict the flattening by passing column names
> [[origin, crate, versions]; [World, ([[name]; ['nu-cli']]), ['0.21', '0.22']]] | flatten versions --all | last | get versions
Flatten inner table
> { a: b, d: [ 1 2 3 4 ], e: [ 4 3 ] } | flatten d --all
╭───┬───┬───┬───────────╮
│ # │ a │ d │ e │
├───┼───┼───┼───────────┤
│ 0 │ b │ 1 │ ╭───┬───╮ │
│ │ │ │ │ 0 │ 4 │ │
│ │ │ │ │ 1 │ 3 │ │
│ │ │ │ ╰───┴───╯ │
│ 1 │ b │ 2 │ ╭───┬───╮ │
│ │ │ │ │ 0 │ 4 │ │
│ │ │ │ │ 1 │ 3 │ │
│ │ │ │ ╰───┴───╯ │
│ 2 │ b │ 3 │ ╭───┬───╮ │
│ │ │ │ │ 0 │ 4 │ │
│ │ │ │ │ 1 │ 3 │ │
│ │ │ │ ╰───┴───╯ │
│ 3 │ b │ 4 │ ╭───┬───╮ │
│ │ │ │ │ 0 │ 4 │ │
│ │ │ │ │ 1 │ 3 │ │
│ │ │ │ ╰───┴───╯ │
╰───┴───┴───┴───────────╯