如何在表格中添加垂直headers?

How to add vertival headers in tabulate?

所以我在表格中做了一个table,输出如下所示:

但我希望它看起来像这样:

那我该怎么做呢?

这是我的代码:

from tabulate import tabulate

nums = {"Numbers": [0, 3.5, " ", -2, " "], "Seconds": [" ", " ", 24, " ", 3]}
print(
    tabulate(nums, tablefmt="grid", headers=nums.keys(), colalign=("center", "center"))
)

如有任何帮助,我将不胜感激。

你能试试下面的输入吗:

nums = [["Numbers", 0, 3.5, " ", -2, " "], ["Seconds", " ", " ", 24, " ", 3]]

并删除 headers=nums.keys() 参数 ?

编辑:如果您的输入是如您所示的字典,您可以将其转换为如上所示的列表列表:

from tabulate import tabulate
nums = {"Numbers": [0, 3.5, " ", -2, " "], "Seconds": [" ", " ", 24, " ", 3]}
print(
    tabulate([[k]+nums[k] for k in nums], tablefmt="grid", colalign=("center", "center"))
)

要转换字典中的

nums = [["Numbers", 0, 3.5, " ", -2, " "], ["Seconds", " ", " ", 24, " ", 3]]

您可以使用:

nums = {"Numbers": [0, 3.5, " ", -2, " "], "Seconds": [" ", " ", 24, " ", 3]}

col = len(nums["Numbers"])
rd = len(nums)
l = []
ln = []
for k, v in nums.items():
    l = l + [k]
    l = l + v
    ln = ln + [l]
    l = []

print(ln)