gpt4 book ai didi

Python制表,将元素附加到当前表

转载 作者:行者123 更新时间:2023-11-30 23:04:31 24 4
gpt4 key购买 nike

我目前正在 CLI 中开发连续监控功能。为了整齐地打印数据,我决定使用 tabulate因为它非常简单,并且几乎适用于我遇到的所有问题。

问题在于,连续监控功能根据用户指定的时间间隔进行轮询,但每次轮询时,都会生成并打印一个新表。

采用以下代码片段:

table_headers = ['Date', 'Message', 'Type']
mapped_data = []
...
...
...
print tabulate(mapped_data, headers=table_headers)

这将是单次迭代的示例,... 是处理和附加数据的地方。但是输出会像这样:

Date                       Message           Type
------------------------- -------------- ------
Thu 12 Nov 2015, 18:55:26 Message. 1
Thu 12 Nov 2015, 18:55:58 Message. 2
Date Message Type
------ --------- ------
Date Message Type
------ --------- ------
Date Message Type
------ --------- ------

理想情况下,我想构建一个通用表并随着时间的推移构建它。请注意,收到消息后必须立即打印。因此,我不能简单地等到该过程完成并一次性打印所有内容。

<小时/>

使用Python 2.7

最佳答案

您可以使用str.format做你想做的事。

注意:编写标题时需要知道每列的宽度。

创建行模板:

template = '{:<25} {:<14} {:<6}' # numbers are width, '<' means 'align to left'

然后您可以通过编写以下内容来创建标题:

print template.format(*table_headers)

在其后添加破折号:

# changes fill character to dash, and fills template with empty strings
print template.replace(':', ':-').format('', '', '')

并通过编写以下内容添加行:

for row in mapped_data:
print template.format(*row)

关于Python制表,将元素附加到当前表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33678421/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com