我希望添加一个页脚到我的PrettyTable,合计存储在上面的行中的数据。我在脚本中创建了一个计数,但我想将其添加到表中。
我必须创建下面的表的代码如下(.add_row
在循环中):
outTbl = PrettyTable(["Projects", "Number"])
outTbl.add_row([eachProj, count])
...它会生成一个如下所示的表:
+--------------------------+-----------+
| Projects | Number |
+--------------------------+-----------+
| Project A | 5 |
| Project B | 9 |
| Project C | 8 |
| Project D | 2 |
+--------------------------+-----------+
...但是我正在寻找创建上面的表格的功能,在底部有一个摘要页脚:
+--------------------------+-----------+
| Projects | Number |
+--------------------------+-----------+
| Project A | 5 |
| Project B | 9 |
| Project C | 8 |
| Project D | 2 |
+--------------------------+-----------+
| Total | 24 |
+--------------------------+-----------+
我在网上搜索了模块文档:PrettyTable tutorial,Google prettytable - Tutorial,看不到任何对页脚的引用,我发现令人惊讶的是,给定的页眉是一个。这可以在PrettyTable中完成吗?或者有其他具有此功能的Python模块可以推荐吗?
7条答案
按热度按时间93ze6v8z1#
您可以使用texttable与周围的小黑客:
输出量:
w80xi6nr2#
漂亮的表中没有单独的创建页脚的函数。不过你可以做一些小技巧来创建,如果你是特别使用只漂亮的表如下
或者,如果您正在寻找带有页脚的特定函数,您可以查看https://stackoverflow.com/a/26937531/3249782,了解可以使用的不同方法
xdyibdwo3#
我今天遇到了同样的问题,并使用了以下方法将表的最后n行作为结果行,由一条水平线分隔(就像分隔标题的一条线):
这将产生以下输出:
vsmadaxz4#
我知道我迟到了,但是我创建了一个函数来自动向表中添加一个“总计”行。现在还不能解决列是否比表宽的问题。
Python 3.6 ++
功能说明:
使用方法:
zf9nrax15#
在检查了pretty table的源代码后,你可以看到,在打印表格后,你可以得到每个列的宽度。使用这个你可以自己创建一个页脚,因为漂亮的表不给予你这个选项。以下是我的方法:
下面是输出:
只需更改代码中的总var,一切都应该正常工作
ukqbszuj6#
我偷了@Niels的解决方案,并在最后
num_footers
行之前使用一个打印机打印:qltillow7#
prettytable通过将
divider=True
传递给add_row()
来支持页脚。下面是一个来自https://pypi.org/project/prettytable/的示例
验证码:
产出: