transpose for filters
Transposes the table contents so rows become columns and columns become rows.
Signature
> transpose {flags} ...rest
Flags
-
--header-row, -r: Use the first input column as the table header-row (or keynames when combined with --as-record). -
--ignore-titles, -i: Don't transpose the column names into values. -
--as-record, -d: Transfer to record if the result is a table and contains only one row. -
--keep-last, -l: On repetition of record fields due toheader-row, keep the last value obtained. -
--keep-all, -a: On repetition of record fields due toheader-row, keep all the values obtained.
Parameters
-
...rest: The names to give columns once transposed.
Input/output types:
| input | output |
|---|---|
| table | any |
| record | table |
Examples
Transposes the table contents with default column names.
> [[c1 c2]; [1 2]] | transpose ╭───┬─────────┬─────────╮ │ # │ column0 │ column1 │ ├───┼─────────┼─────────┤ │ 0 │ c1 │ 1 │ │ 1 │ c2 │ 2 │ ╰───┴─────────┴─────────╯
Transposes the table contents with specified column names.
> [[c1 c2]; [1 2]] | transpose key val ╭───┬─────┬─────╮ │ # │ key │ val │ ├───┼─────┼─────┤ │ 0 │ c1 │ 1 │ │ 1 │ c2 │ 2 │ ╰───┴─────┴─────╯
Transposes the table without column names and specify a new column name.
> [[c1 c2]; [1 2]] | transpose --ignore-titles val ╭───┬─────╮ │ # │ val │ ├───┼─────┤ │ 0 │ 1 │ │ 1 │ 2 │ ╰───┴─────╯
Transfer back to record with -d flag.
> {c1: 1, c2: 2} | transpose | transpose --ignore-titles -r -d
╭────┬───╮
│ c1 │ 1 │
│ c2 │ 2 │
╰────┴───╯
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/transpose.html