【Python】在prettytable的最末一行添加summary行
原理
这里给出一个模板。for循环执行add_row,单独在最后一行加 divider=True,添加分割线,然后计算汇总。
代码
import prettytable as pt
table = pt.PrettyTable()
a = ["line1", "line2", "line3"]
b = [2,3,9]
c = [3,4,9]
d = [4,5,0]
table.field_names = ["line", "BB", "CC","DD"]
for i in range(len(a)-1):
table.add_row([a[i], b[i], c[i], d[i]])
table.add_row([a[-1], b[-1], c[-1], d[-1]], divider=True)
# summary
table.add_row(["SUMMARY", sum(b), sum(c), sum(d)])
print(table)
也可以在for循环体中直接写成
for i in range(len(a)):
table.add_row([a[i], b[i], c[i], d[i]], divider=(i==(len(a)-1)))
这样也是等价的。
运行结果:
>>> print(table)
+---------+----+----+----+
| line | BB | CC | DD |
+---------+----+----+----+
| line1 | 2 | 3 | 4 |
| line2 | 3 | 4 | 5 |
| line3 | 9 | 9 | 0 |
+---------+----+----+----+
| SUMMARY | 14 | 16 | 9 |
+---------+----+----+----+