Skip to main content

Plain text tables for Python 3

Project description

txtable - Plain text tables for Python 3

Pretty-print tabular data as plain text. Supports Markdown and reStructuredText tables too.

Sample outputs

Default formatter

Date        Mobile Operating System  Percent of Usage
==========  =======================  ================
2008-12-01                  Android                 0
2008-12-01                      iOS             32.56
2008-12-01                SymbianOS             42.02
2008-12-01                Series 40                 0
2008-12-01            BlackBerry OS                 0
2008-12-01                  Samsung                 0
2008-12-01                  Unknown                16
2008-12-01            Windows Phone                 0

Headless formatter

Date        Mobile Operating System  Percent of Usage
2008-12-01                  Android                 0
2008-12-01                      iOS             32.56
2008-12-01                SymbianOS             42.02
2008-12-01                Series 40                 0
2008-12-01            BlackBerry OS                 0

MD formatter

Date       | Mobile Operating System | Percent of Usage
---------- | ----------------------- | ----------------
2008-12-01 |                 Android |                0
2008-12-01 |                     iOS |            32.56
2008-12-01 |               SymbianOS |            42.02
2008-12-01 |               Series 40 |                0
2008-12-01 |           BlackBerry OS |                0

RST formatter

+------------+-------------------------+------------------+
| Date       | Mobile Operating System | Percent of Usage |
+============+=========================+==================+
| 2008-12-01 |                 Android |                0 |
+------------+-------------------------+------------------+
| 2008-12-01 |                     iOS |            32.56 |
+------------+-------------------------+------------------+
| 2008-12-01 |               SymbianOS |            42.02 |
+------------+-------------------------+------------------+
| 2008-12-01 |               Series 40 |                0 |
+------------+-------------------------+------------------+
| 2008-12-01 |           BlackBerry OS |                0 |
+------------+-------------------------+------------------+

Installation

It’s the usual process as with any other Python package:

python3 setup.py install

Or install with pip:

pip3 install txtable

Usage as a module

Default usage:

# let's pretty-print a CSV file
import csv
from txtable import TextTable

with open("cities.csv") as f:
    data = list(csv.reader(f))

# the TextTable constructor takes a sequence type as the first argument
print(TextTable(data))

Use a formatter (available formatters are DefaultFormatter, HeadlessFormatter, MdFormatter, RstFormatter):

print(TextTable(data, formatter=MdFormatter()))

Command-line usage

The command-line interface supports formatting input data in JSON and CSV format. Input can be a list of files or stdin.

cat cities.csv | python3 -m txtable -t csv -f md
curl http://ponydealer.com/api/available.json | python3 -m txtable -t json

Command-line help

usage: txtable [-h] [-f FORMATTER] [-t TYPE] [files [files ...]]

positional arguments:
  files                 Path to input files (json/csv) or read from stdin when
                        empty (default: [])

optional arguments:
  -h, --help            show this help message and exit
  -f FORMATTER, --formatter FORMATTER
                        Table format: default, headless, md (Markdown) or rst
                        (ReStructuredText) (default: default)
  -t TYPE, --type TYPE  Input data type to read from stdin: json/csv (default:
                        json)

Project details


Download files

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

Files for txtable, version 2.1.2
Filename, size File type Python version Upload date Hashes
Filename, size txtable-2.1.2.tar.gz (5.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page