Skip to content

Ronserruya/tbl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tbl - cat for csv files

tbl lets you print out csv files to your terminal, formatted and "prettified".

A lot of the hard work is done with the rapidtables package, check it out!

cat tbl

Check out this recorded example: asciicast

Requirements

  • Python 3.4+

Installation

pip install --user clitbl

Usage options

Use tbl -h / tbl --help to see help.

  • The most common use it to just print the table
tbl file.csv
  • --headers
    The headers options lets you explicitly specify the headers for the table. Use this option when you csv files does not include headers, (e.g exampleFile
tbl file.csv --headers '#Index#Item#Cost#Tax#Total'
  • --select
    The select options lets you select what columns to print (similar to SQL SELECT)
tbl file.csv --select '#Item#Tax'

❗ Both headers and select use the first charcter as a separator, it can be any character (kinda like a sed expressions)
❗ The headers specified with this option are case-sensitive
🌟 The headers and select headers can be used together

  • --format (defualt: rstgrid)
    The format options lets you specify the format used when printing the table.
    The available formats are:
rstgrid rst md simple

Restrictions

There are several cases tbl does not support:

  • Duplicated headers, all headers must be distinct
  • Very long headers, while tbl can wrap long paragraph of text in a cell, it cannot wrap text in the headers, which may lead to disfigured output

❗ This is not the use case for tbl anyway, but dont try to print huge tables (several GBs), as tbl (and rapidtable) read the entire table to memory before printing

* Example csv were downloaded from here