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.1.tar.gz
(4.9 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0693927248dccebb260a41a30d146538c6707540d10e76cdad662e47ad2d34a1
|
|
| MD5 |
90ba27617091e6c6e6710019976f09ba
|
|
| BLAKE2b-256 |
20156d01f9b4cee4ee82547f02b25a0734b8213410b53233a6e138a9ed94db5e
|