Skip to main content

A curses command-line CSV and list (tabular data) viewer

Project description

Latest Version Supported Python versions License https://sourcegraph.com/github.com/TabViewer/tabview/-/badge.svg https://img.shields.io/travis/TabViewer/tabview.svg

Tabview

This project is functional but future development will be sporadic and limited. For a more fully featured CSV viewer/spreadsheet app check out the Visidata project.

View a CSV file in a spreadsheet-like display.

Posted by Scott Hansen <firecat4153@gmail.com>

Original code forked from: http://www.amk.ca/files/simple/tabview.txt

Contributed by A.M. Kuchling <amk@amk.ca>

Other Contributors:

The highlighted position is shown in the top-left corner of the screen; next to it are shown the contents of that cell.

Features:

  • Python 3.4+

  • Spreadsheet-like view for easily visualizing tabular data

  • Vim-like navigation (h,j,k,l, g(top), G(bottom), 12G goto line 12, m - mark, ‘ - goto mark, etc.)

  • Toggle persistent header row

  • Sort ascending or descending by any column. Dynamically change column width and gap

  • Sort in ‘natural order’ to improve numeric sorting

  • Full-text incremental search, n and p to cycle between search results

  • ‘Enter’ to view the full cell contents

  • Yank cell contents to the clipboard

  • File can be reloaded in-place if the data changes.

  • F1 or ? for keybindings

  • Can also use from python command line to visualize any tabular data (e.g. list-of-lists)

  • See the screenshots directory for some pictures.

Requires:

  • Python 3.4+

  • Xsel or xclip (Optional - only required for ‘yank’ to clipboard)

Installation:

  • pip install tabview OR

  • # python setup.py install OR

  • $ python setup.py install --user OR

  • Archlinux AUR package

Usage:

  • From command line:

    tabview <filename>
    tabview <filename> --start_pos 6,5
    tabview <filename> +6:5  (equivalent to previous usage)
    tabview <filename> --encoding iso8859-1 +6:
  • From python command line to view an object

    import tabview as t
    a = [["a","b","c"], ["d","e","f"]]
    t.view(a)
  • From python command line to view a file

    import tabview as t
    t.view(<filename>, start_pos=(60,40))
  • Using as the pager for MySQL. Set these options in ~/.my.cnf:

    pager=tabview -d '\t' --quoting QUOTE_NONE -
    silent

Tests:

  • python tests/test_tabview.py

Keybindings:

F1 or ?

Show this list of keybindings

Cursor keys or h,j,k,l

Move the highlighted cell, scrolling if required.

Q or q

Quit

Home, ^, Ctrl-a

Move to the start of this line

End, $, Ctrl-e

Move to the end of this line

[num]|

Goto column <num>, or first column if num not given

PgUp/PgDn or J/K

Move a page up or down

H,L

Page left or right

g

Goto top of current column

[num]G

Goto line <num> or bottom of current column if num not given

Ctrl-g

Show file/data information

Insert or m

Memorize this position

Delete or ‘

Return to memorized position (if any)

Enter

View full cell contents in pop-up window.

/

Search

n

Next search result

p

Previous search result

t

Toggle fixed header row

< >

Decrease/Increase column width (all columns)

, .

Decrease/Increase column width (current column)

- +

Decrease/Increase column gap

s

Sort the table by the current column (ascending)

S

Sort the table by the current column (descending)

a

‘Natural Sort’ the table (ascending)

A

‘Natural Sort’ the table (descending)

#

Sort numerically by the current column (ascending)

@

Sort numerically by the current column (descending)

r

Reload file/data. Also resets sort order

y

Yank cell contents to the clipboard (requires xsel or xclip)

[num]c

Toggle variable column width mode (mode/max), or set width to [num]

[num]C

Maximize current column, or set width to [num]

[num][

Skip to (nth) change in row value (backward)

[num]]

Skip to (nth) change in row value (forward)

[num]{

Skip to (nth) change in column value (backward)

[num]}

Skip to (nth) change in column value (forward)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

tabview-1.4.4-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file tabview-1.4.4-py3-none-any.whl.

File metadata

  • Download URL: tabview-1.4.4-py3-none-any.whl
  • Upload date:
  • Size: 25.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/43.0.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.8.1

File hashes

Hashes for tabview-1.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c0060a968a139cd3e13955833380a4792a2530fc10a071e3332ad82e45ccc557
MD5 f537c3adb680a3afa79f3441ee252aba
BLAKE2b-256 31628dc3023ff59e75b9b922feca54a897524fbd31ba8dff1833be126d0f1d00

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page