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
Release history Release notifications | RSS feed
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)