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.1.tar.gz (4.9 kB view details)

Uploaded Source

File details

Details for the file txtable-2.1.1.tar.gz.

File metadata

  • Download URL: txtable-2.1.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for txtable-2.1.1.tar.gz
Algorithm Hash digest
SHA256 0693927248dccebb260a41a30d146538c6707540d10e76cdad662e47ad2d34a1
MD5 90ba27617091e6c6e6710019976f09ba
BLAKE2b-256 20156d01f9b4cee4ee82547f02b25a0734b8213410b53233a6e138a9ed94db5e

See more details on using hashes here.

Supported by

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