Graphical counterpart to tabview, a simple tabular data viewer that can be used both stand-alone and as a Python module for various files and Python/Pandas/NumPy data structures.
gtabview reads most text tabular data formats automatically:
gtabview data.csv gtabview data.txt
If xlrd is installed, Excel files can be read directly:
gtabview file.xls[x]
When Blaze is also installed, any Blaze source can be used by specifying a supported URI on the command line:
gtabview file://dataset.hdf5 gtabview file://dataset.json gtabview sqlite://file.db::table gtabview postgresql://host.domain/db_name::table
The database URL syntax is inherited from SQLAlchemy, so refer to SQLAlchemy's database URLs for a detailed reference.
gtabview.view() can be used to display simple Python types directly in
tabulated form:
from gtabview import view
# view a file
view("/path/to/file")
# view a list
view([1, 2, 3])
# view a dict (by columns)
view({'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]})
# view a dict (by rows)
view({'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}, transpose=True)
# view a simple list of lists
view([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# view a simple list of lists (with headers)
view([['a', 'b', 'c'], [1, 2, 3], [4, 5, 6], [7, 8, 9]], hdr_rows=1)gtabview includes native support for NumPy and all features of Pandas' DataFrames, such as MultiIndexes and level names:
from gtabview import view
# numpy arrays up to two dimensions are supported
import numpy as np
view(np.array([[1, 2, 3], [4, 5, 6]]))
# view a DataFrame/Series/Panel
import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]],
columns=['a', 'b', 'c'], index=['x', 'y'])
view(df)Blaze can also be used directly as a data source, either explicitly or implicitly through an URI:
from gtabview import view
import blaze as bz
iris = bz.Data('sqlite:///blaze/examples/data/iris.db::iris')
view(iris)
view('postgresql://user:pass@host.domain:port/db_name::table')gtabview is designed to integrate correctly with matplotlib. If you're using gtabview with matplotlib either directly or indirectly (for example, using the Pandas visualization API or Seaborn), be sure to include matplotlib first to correctly initialize gtabview.
gtabview will also use matplotlib's interactive setting to determine the
default behavior of the data window: when interactive, calls to view() will
not block, and will keep recycling the same window.
To use gtabview in a Python Notebook with inline graphics, you'll probably want to force the detached behavior. In the first cell of your notebook, initialize both gtabview and matplotlib as follows:
import gtabview
gtabview.DETACH = True
from gtabview import view
%matplotlib inlineWhen using view, a separate data window will show. The window can be kept
around or closed, but will only be refreshed when evaluating the cell again.
gtabview is available directly on the Python Package Index.
gtabview requires:
- Python 3 or Python 2
- PyQt5, PyQt4 or PySide
- setuptools and setuptools-git (install-only).
Under Debian/Ubuntu, install the required dependencies with:
sudo apt-get install python3 python3-pyqt5 sudo apt-get install python3-setuptools python3-setuptools-git
Then download and install simply via pip:
pip install gtabview
Install xlrd if reading Excel files directly is desired, and optionally
Blaze for interacting with other/scientific data formats:
pip install xlrd pip install blaze
LICENSE.txt)