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
table-logger-0.3.6.tar.gz
(6.6 kB
view details)
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 |