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

ist*_*ern 7 python prettytable

我有一个生成多个表的脚本,这些表都具有相同的列名和非常相似的数据.到目前为止,我一直在通过在它之前打印标题使每个表独特,即:

print("Results for Method Foo")
#table 1
print("Results for Method Bar")
#table 2 
Run Code Online (Sandbox Code Playgroud)

等等.但那不是很漂亮..

虽然它看起来像一个明显的用例,但我无法找到做这样的事情的选项:

PrettyTable标题

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

万一它很重要:我使用的是python 3.4,带有virtualenv和漂亮版本0.7.2

Tim*_*imD 5

这可以使用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)
Run Code Online (Sandbox Code Playgroud)

这给出了所需的输出:

+-------------------------+
|  Results for method Foo |
+---------------+---------+
|   Experiment  |  Value  |
+---------------+---------+
|      bla      |   3.14  |
|      baz      |   42.0  |
+---------------+---------+
Run Code Online (Sandbox Code Playgroud)

  • 这对我不起作用。不显示表格标题。使用 Python 3.4.3 和以下依赖项进行测试:tables (3.4.2)、prettytable (0.7.2)。 (3认同)
  • 添加 PTable 依赖项(pip install ptable)后,它就可以工作了。采纳你的回答。 (2认同)