Nushell
Get Nu!
Getting Started
  • The Nushell Book
  • Command Reference
  • Cookbook
  • Language Reference Guide
  • Contributing Guide
Blog
  • English
  • 中文
  • Deutsch
  • Français
  • Español
  • 日本語
  • Português do Brasil
  • Русский язык
GitHub
Get Nu!
Getting Started
  • The Nushell Book
  • Command Reference
  • Cookbook
  • Language Reference Guide
  • Contributing Guide
Blog
  • English
  • 中文
  • Deutsch
  • Français
  • Español
  • 日本語
  • Português do Brasil
  • Русский язык
GitHub
  • Categories

    • Bits
    • Bytes
    • Chart
    • Conversions
    • Core
    • Database
    • Dataframe
    • Dataframe Or Lazyframe
    • Date
    • Debug
    • Default
    • Env
    • Experimental
    • Expression
    • Filesystem
    • Filters
    • Formats
    • Generators
    • Hash
    • History
    • Lazyframe
    • Math
    • Misc
    • Network
    • Path
    • Platform
    • Plugin
    • Prompt
    • Random
    • Removed
    • Shells
    • Strings
    • System
    • Viewers

from tsv for formats

Parse text as .tsv and create table.

Signature

> from tsv {flags}

Flags

  • --comment, -c {string}: a comment character to ignore lines starting with it
  • --quote, -q {string}: a quote character to ignore separators in strings, defaults to '"'
  • --escape, -e {string}: an escape character for strings containing the quote character
  • --noheaders, -n: don't treat the first row as column names
  • --flexible: allow the number of fields in records to be variable
  • --no-infer: no field type inferencing
  • --trim, -t {string}: drop leading and trailing whitespaces around headers names and/or field values

Input/output types:

inputoutput
stringtable

Examples

Convert tab-separated data to a table

> "ColA	ColB
1	2" | from tsv
╭───┬──────┬──────╮
│ # │ ColA │ ColB │
├───┼──────┼──────┤
│ 0 │    1 │    2 │
╰───┴──────┴──────╯

Convert comma-separated data to a table, allowing variable number of columns per row and ignoring headers

> "value 1
value 2	description 2" | from tsv --flexible --noheaders
╭───┬─────────┬───────────────╮
│ # │ column0 │    column1    │
├───┼─────────┼───────────────┤
│ 0 │ value 1 │      ❎       │
│ 1 │ value 2 │ description 2 │
╰───┴─────────┴───────────────╯

Create a tsv file with header columns and open it

> $'c1(char tab)c2(char tab)c3(char nl)1(char tab)2(char tab)3' | save tsv-data | open tsv-data | from tsv

Create a tsv file without header columns and open it

> $'a1(char tab)b1(char tab)c1(char nl)a2(char tab)b2(char tab)c2' | save tsv-data | open tsv-data | from tsv --noheaders

Create a tsv file without header columns and open it, removing all unnecessary whitespaces

> $'a1(char tab)b1(char tab)c1(char nl)a2(char tab)b2(char tab)c2' | save tsv-data | open tsv-data | from tsv --trim all

Create a tsv file without header columns and open it, removing all unnecessary whitespaces in the header names

> $'a1(char tab)b1(char tab)c1(char nl)a2(char tab)b2(char tab)c2' | save tsv-data | open tsv-data | from tsv --trim headers

Create a tsv file without header columns and open it, removing all unnecessary whitespaces in the field values

> $'a1(char tab)b1(char tab)c1(char nl)a2(char tab)b2(char tab)c2' | save tsv-data | open tsv-data | from tsv --trim fields