tass 0.4.0

A pager for tabular data
tass-0.4.0 is not a library.

It's like less, but for CSV! It looks like this:

Installing

If you already have rust, you can install tass like this:

$ cargo install tass

Usage

You can pass a filename, or pipe data to stdin:

$ tass mydata.csv
$ cat mydata.csv | tass
Key Action
Up/j, PageUp Move up one row, page
Down/k,PageDown Move down one row, page
Left/h Move left one column
Right/l Move right one column
Home, End Move to start/end of file
number g Move to line $number
f Move to end and auto-scroll as new rows come in
/, ? Search, reverse-search for string
n, N Jump to next, previous match
q/Esc Quit

Comparison to other tools

Tool Functionality Filetypes Streaming File size
tass Viewing data, basic searching and filtering CSV yes Large (bigger than memory is fine)
VisiData As above, plus: summary stats, plots, ... CSV, JSON, ... yes Medium (up to perhaps 50% of memory)
Excel/Calc/Numbers/Google Sheets As above, plus: it's a spreadsheet CSV, xls, ods, ... no Small (1M row limit)

My advice is to use the most featureful tool you can get away with. However, if you are cursed with multi-gigabyte CSV files, then here are some tips:

  • If you want to see summary statistics but don't care about the underlying data itself, you can still use VisiData/Excel/etc.: just downsample it first with xsv. This will reduce the precision of your stats and plots, but not the overall shape (probably).
  • If you do want exact answers to complex questions, consider converting your CSV file to a sqlite database.
  • Alternatively, take a look at frawk - it's really nice.