将列表嵌套转换为Python Rich表格

6

以下是数据,请问如何将动物、年龄和性别放入每个表格单元格中?目前所有数据都在一个单元格中。谢谢。

from rich.console import Console
from rich.table import Table

list = [['Cat', '7', 'Female'],
        ['Dog', '0.5', 'Male'],
        ['Guinea Pig', '5', 'Male']]

table1 = Table(show_header=True, header_style='bold')
table1.add_column('Animal')
table1.add_column('Age')
table1.add_column('Gender')

for row in zip(*list):
    table1.add_row(' '.join(row))

console.print(table1)

富有的“Table”表的定义在哪里/是什么?它是一个外部包吗? - Tom Dalton
抱歉我的错误 - 漏掉了导入。 - yeleek
在打印表格之前,你应该将控制台定义为 console = Console() - alex devassy
1个回答

7

只需使用*来解包元组,它就应该正常工作。

for row in zip(*list):
    table1.add_row(*row)

请注意
table1.add_row(*('Cat', 'Dog', 'Guinea Pig'))

等同于

table1.add_row('Cat', 'Dog', 'Guinea Pig')

之前您的方法相当于

table1.add_row('Cat Dog Guinea Pig')

非常有用。在某些情况下,您可能需要使用str映射元素,例如table.add_row((map(str, imd_table[index])))*。 - rjha94

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接