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 details)
File details
Details for the file txtable-2.1.2.tar.gz
.
File metadata
- Download URL: txtable-2.1.2.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 029c144bb687ba383808558b565099618d4f6186edb0d00f9afeaff9df223c79 |
|
MD5 | 195c1185d14cc598b97625e6bf1aabcb |
|
BLAKE2b-256 | 9ab8d872404ff3134460044e6b78fd3d132e3cee64054874aa92600812fe479f |