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.

Source Distribution

txtable-2.1.2.tar.gz (5.1 kB view hashes)

Uploaded Source

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