Giter Site home page Giter Site logo

tabview's Introduction

Latest Version Supported Python versions Download format License https://sourcegraph.com/api/repos/github.com/firecat53/tabview/.badges/status.png https://travis-ci.org/firecat53/tabview.svg?branch=master

Tabview

View a CSV file in a spreadsheet-like display.

Posted by Scott Hansen <[email protected]>

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

Contributed by A.M. Kuchling <[email protected]>

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 2.7+ and 3.x
  • 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 2.7+ or 3.x
  • 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, 0, ^, 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)
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)

tabview's People

Contributors

firecat53 avatar wavexx avatar gurisko avatar scls19fr avatar nathantypanski avatar jahrome avatar

Watchers

James Cloos avatar Lerner Zhang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.