首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在tabulate中添加垂直标题?

如何在tabulate中添加垂直标题?
EN

Stack Overflow用户
提问于 2020-11-26 00:25:09
回答 2查看 213关注 0票数 0

所以我用tabulate制作了一个表,输出如下所示:

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

那么我该怎么做呢?

这是我的代码:

代码语言:javascript
复制
from tabulate import tabulate

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

我将非常感谢你的帮助,谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-26 00:34:52

您可以尝试使用以下输入:

代码语言:javascript
复制
nums = [["Numbers", 0, 3.5, " ", -2, " "], ["Seconds", " ", " ", 24, " ", 3]]

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

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

代码语言:javascript
复制
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"))
)
票数 1
EN

Stack Overflow用户

发布于 2020-11-26 02:06:50

将字典转换为

代码语言:javascript
复制
nums = [["Numbers", 0, 3.5, " ", -2, " "], ["Seconds", " ", " ", 24, " ", 3]]

您可以使用:

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65008779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档