Skip to main content

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 |

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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

table_logger-0.3.6-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

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

Hashes for table-logger-0.3.6.tar.gz
Algorithm Hash digest
SHA256 cd348ba7d9d167d0bd7fdb988cd2d1d3051b5a17236a7c50979678a82f0b4ca4
MD5 55b773639bf6f58e7f48e7d1e1a1b8c6
BLAKE2b-256 7075f2892ac122cc36fecafdaa29e807470f3b27fc27a0e8c6d9507f018cf5ac

See more details on using hashes here.

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

Hashes for table_logger-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 dac0be8b20ea8ce6a9646bf68fb2f71218724fb4dbe3108a105641ca14bd167a
MD5 d2e8c3be0422f81a3d0230fb7f242d8b
BLAKE2b-256 0d80d4e0e9005caccae0185d4919844792a9227ebf4ed8e431c13625556b8c74

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.6 This release

2 files

0.3.5

2 files

0.3.4

1 file

0.3.3

1 file

0.3.2

1 file

0.3.1

0.3

1 file

0.2

1 file

0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page