Lightweight, tabular data, printing module for Python.
Project description
Tabular Print
Tabular print prints a table that scales column widths to fit the data. Written to mesh with the sqlite3 python module, specifically cursor.description (list comp-ed to only have the column labels), and cursor.fetchall(). Each row in the values list is treated as a row of table data, and element order in the list corresponds to the order of column labels. Use the ‘transpose’ argument if you data is formated with each row representing a column of data.
Example
A redacted example from a side project of mine (https://github.com/mkitzan/terminus):
*--------------------------------------*---------------*----------------*-----*------*--------* |Title |Author |Genre |Year |Pages |Type | *--------------------------------------*---------------*----------------*-----*------*--------* |Ellison Wonderland |Harlan Ellison |science fiction |1962 |191 |stories | |Dangerous Visions |Harlan Ellison |science fiction |1967 |598 |stories | |Love Ain't Nothing but Sex Misspelled |Harlan Ellison |science fiction |1968 |380 |stories | |Again, Dangerous Visions vol.1 |Harlan Ellison |science fiction |1972 |450 |stories | |Again, Dangerous Visions vol.2 |Harlan Ellison |science fiction |1972 |449 |stories | |Approaching Oblivion |Harlan Ellison |science fiction |1974 |164 |stories | |Deathbird Stories |Harlan Ellison |science fiction |1975 |347 |stories | |Stalking the Nightmare |Harlan Ellison |science fiction |1982 |301 |stories | |Angry Candy |Harlan Ellison |science fiction |1988 |324 |stories | |Slippage |Harlan Ellison |science fiction |1997 |359 |stories | *--------------------------------------*---------------*----------------*-----*------*--------*
Usage
First import the function ‘table’ from tabular print
from tabularprint import table
For a standard table use
table(col_labels, values)
For an augmented table use the expected arguments, and any combination of the five non-standard arguments
table(col_labels, values, header="Look at this table", transpose=True, edge="#", padding=2, printer=lambda row: outfile.write(row + "\n"))
Non-Standard Arguments
header (default None): will print whatever this string is above the table.
transpose (default False): will transpose the values argument if transpose=True. Helpful if a row in values corresponds to a column in the table rather than the expected values row corresponds to a table row (format of a sqlite3 fetchall call)
edge (default “*”): when a horizontal line (“-”) intersects a vertical line (”|”) in the table, an edge character is placed. By default a star is used, but, by including an argument for edge when table is called, you can augment what this character is.
padding (default 1): buffer determines the amount of whitespace between the end of the longest value in a column and that column’s right vertical divider. Example: |example of buffer=1 |
printer (default print): allows user to write the output of tabular-print to a file, or call some function with each line of tabular-print’s output as an argument. Each line of output is a string, so be sure your function takes that into account.
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
Built Distribution
File details
Details for the file tabular-print-1.0.7a1.tar.gz
.
File metadata
- Download URL: tabular-print-1.0.7a1.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 110e0c3da533b226ffc9ffdda05ba311a8be851f2c62adeddb212e5017ea3517 |
|
MD5 | e5dc3c6b7524337b1fd6e7ef3846ec22 |
|
BLAKE2b-256 | c4da41d3d810413de140d4191f9d5edcfefd6b5ce376bce7dfde4a54e170992c |
File details
Details for the file tabular_print-1.0.7a1-py3-none-any.whl
.
File metadata
- Download URL: tabular_print-1.0.7a1-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07dbfe5bbcda6813bb82e7aaf56bada292b906365ee094bf10f399d1ad1fbf3d |
|
MD5 | 5ac19aa4659cfd444fc6e8cf533dc071 |
|
BLAKE2b-256 | 50d34dc27517feb80e9830c84ed8e7fe3e2c1f2d7c6d01f0d7acee4ecaa118ca |