tablelogger是一个方便的python实用程序,用于将表格数据记录到控制台或文件中。
table-logger的Python项目详细描述
tablelogger是一个方便的python实用程序,用于将表格数据记录到控制台中。 或者一个很少开销的文本文件。
用法
fromtable_loggerimportTableLoggertbl=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())
输出:
+----------------------+----------------------+---------------------+----------------------+ | 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 |
功能
- 基本python类型的正常默认格式
- 行号、时间戳和时间增量列
- CSV输出
- 允许调整列宽和格式
- python 2.7和3支持
安装
PYPI:
$ pip install table-logger
Github:
$ git clone https://github.com/AleksTk/table-logger $ cd table-logger $ python setup.py install
示例
包括行号、时间增量和时间戳列
tbl=TableLogger(columns='data',rownum=True,time_delta=True,timestamp=True)forein'abcde':time.sleep(random.randint(0,3))tbl(e)
输出:
+-----------+----------------------------+-----------------+----------------------+ | 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 |
写入CSV文件
withopen('log.csv','wb')ascsvfile:tbl=TableLogger(file=csvfile,csv=True,columns='a,b')tbl('John "Smith"',1200000.890)tbl('Tommy,Cache',70000.125)
输出:
a,b "John ""Smith""",1200000.890000 "Tommy,Cache",70000.125000
指定自定义列宽和格式化程序
tbl=TableLogger(columns='name,salary',float_format='{:,.2f}'.format,default_colwidth=15)tbl('John Smith',1200000.890)tbl('Tommy Cache',70000.125)
输出:
+-----------------+-----------------+ | name | salary | |-----------------+-----------------| | John Smith | 1,200,000.89 | | Tommy Cache | 70,000.12 |