Python PrettyTable:在表格标题上方添加标题

Posted

技术标签:

【中文标题】Python PrettyTable:在表格标题上方添加标题【英文标题】:Python PrettyTable: Add title above the table's header 【发布时间】:2016-05-21 04:33:10 【问题描述】:

我有一个脚本可以生成多个表,这些表都有相同的列名和非常相似的数据。到目前为止,我一直在通过在每个表格之前打印一个标题来使其独一无二,即:

print("Results for Method Foo")
#table 1
print("Results for Method Bar")
#table 2 

等等。但这不是很漂亮..

虽然这似乎是一个明显的用例,但我在任何地方都找不到执行此类操作的选项:

关于如何实现这一目标的任何想法?

以防万一:我正在使用 python 3.4,带有 virtualenv 和 prettytable 版本 0.7.2

【问题讨论】:

【参考方案1】:

这可以使用 PTable 库来实现,该库最初是从 PrettyTable 派生的。我在文档中没有找到这个,所以它可能对其他人有用,语法如下:

from prettytable import PrettyTable

table = PrettyTable()

table.title = 'Results for method Foo'
table.field_names = ['Experiment', 'Value']
table.add_row(['bla', 3.14])
table.add_row(['baz', 42.0])

print(table)

这给出了所需的输出:

+-------------------------+
|  Results for method Foo |
+---------------+---------+
|   Experiment  |  Value  |
+---------------+---------+
|      bla      |   3.14  |
|      baz      |   42.0  |
+---------------+---------+

【讨论】:

这对我不起作用。表标题未显示。使用 Python 3.4.3 和以下依赖项进行测试:表 (3.4.2)、漂亮表 (0.7.2)。 它只适用于 PTable(见上面的链接,我使用的是 0.9.2 版)。这是一个不同的包,但与 prettytable 共享基本语法,因为它最初是从它派生出来的。 在添加 PTable 依赖项 (pip install ptable) 后,它确实可以工作。接受你的回答。

以上是关于Python PrettyTable:在表格标题上方添加标题的主要内容,如果未能解决你的问题,请参考以下文章

python模块——PrettyTable

你值得拥有!prettytable:一款专业输出文本化表格的 Python 库!

具有多个标题/标题的 Python PrettyTable

python---PrettyTable

Python prettytable模块

python之PrettyTable模块