如何在表格中添加垂直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)
所以我在表格中做了一个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)