TableLogger is a handy Python utility for logging tabular data into a console or a file.
Project description
TableLogger is a handy Python utility for logging tabular data into a console or a text file with little overhead.
Usage
from table_logger import TableLogger
tbl = TableLogger(columns='a,b,c,d')
tbl(1, 'Row1', datetime.now(), math.pi)
tbl(2, 'Row2', datetime.now(), 1/3)
tbl(3, 'Row3', datetime.now(), random.random())
Output:
+----------------------+----------------------+---------------------+----------------------+ | a | b | c | d | |----------------------+----------------------+---------------------+----------------------| | 1 | Row1 | 2015-12-28 21:13:46 | 3.141592653589793 | | 2 | Row2 | 2015-12-28 21:13:46 | 0.333333333333333 | | 3 | Row3 | 2015-12-28 21:13:46 | 0.854212894923849 |
Features
sane default formatting for basic python types
row number, timestamp and time delta columns
csv output
allows to adjust column width and format
python 2.7 and 3 support
Installation
PyPI:
$ pip install table-logger
GitHub:
$ git clone https://github.com/AleksTk/table-logger $ cd table-logger $ python setup.py install
Examples
Include row number, time-delta and timestamp columns
tbl = TableLogger(columns='data', rownum=True, time_delta=True, timestamp=True)
for e in 'abcde':
time.sleep(random.randint(0, 3))
tbl(e)
Output:
+-----------+----------------------------+-----------------+----------------------+ | row | timestamp | time delta | data | |-----------+----------------------------+-----------------+----------------------| | 1 | 2016-01-01 21:40:35.956815 | 0.000000000 | a | | 2 | 2016-01-01 21:40:35.957315 | 0.000000000 | b | | 3 | 2016-01-01 21:40:37.957569 | 2.000253916 | c | | 4 | 2016-01-01 21:40:37.957569 | 0.000500202 | d | | 5 | 2016-01-01 21:40:39.958323 | 2.000253916 | e |
Write to csv file
with open('log.csv', 'wb') as csvfile:
tbl = TableLogger(file=csvfile, csv=True, columns='a,b')
tbl('John "Smith"', 1200000.890)
tbl('Tommy,Cache', 70000.125)
Output:
a,b "John ""Smith""",1200000.890000 "Tommy,Cache",70000.125000
Specify custom column widths and formatters
tbl = TableLogger(columns='name,salary',
float_format='{:,.2f}'.format,
default_colwidth=15)
tbl('John Smith', 1200000.890)
tbl('Tommy Cache', 70000.125)
Output:
+-----------------+-----------------+ | name | salary | |-----------------+-----------------| | John Smith | 1,200,000.89 | | Tommy Cache | 70,000.12 |
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
Built Distribution
File details
Details for the file table-logger-0.3.6.tar.gz
.
File metadata
- Download URL: table-logger-0.3.6.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
cd348ba7d9d167d0bd7fdb988cd2d1d3051b5a17236a7c50979678a82f0b4ca4
|
|
MD5 |
55b773639bf6f58e7f48e7d1e1a1b8c6
|
|
BLAKE2b-256 |
7075f2892ac122cc36fecafdaa29e807470f3b27fc27a0e8c6d9507f018cf5ac
|
File details
Details for the file table_logger-0.3.6-py3-none-any.whl
.
File metadata
- Download URL: table_logger-0.3.6-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
dac0be8b20ea8ce6a9646bf68fb2f71218724fb4dbe3108a105641ca14bd167a
|
|
MD5 |
d2e8c3be0422f81a3d0230fb7f242d8b
|
|
BLAKE2b-256 |
0d80d4e0e9005caccae0185d4919844792a9227ebf4ed8e431c13625556b8c74
|