如何将列表列表压缩到 Python Rich table with headers and rows
How do I zip a list of lists into a Python Rich table with headers and rows
我正在尝试从不确定大小的 Google Sheet 中提取数据,并用它来构建 table 以显示在终端中,但我显然在做有事吗。我正在尝试 中描述的方法和语法,并得到等效于:
Animal
Age
Gender
Cat
Dog
Guinea Pig
7
0.5
5
Female
Male
Male
而不是期望的:
Animal
Age
Gender
Cat
7
Female
Dog
0.5
Male
Guinea Pig
5
Male
谁能澄清一下?如果这很愚蠢,我们深表歉意;正如你可能会说的那样,我对 Python 很陌生。
我的实际代码是:
from rich.console import Console
from rich.table import Table
records = test_records.get_all_values()
table = Table(title="Test Records")
for heading in records[0]:
table.add_column(f"{heading}")
for row in zip(*records[1::1]):
table.add_row(*row)
console = Console()
console.print(table)
就像那个问题中的 OP 一样,我有一个列表列表,存储为上面代码中引用的变量 records
。我的列表包含我的 headers,但如您所见,我在上面的代码中分别处理了这些。也许这就是我出错的地方?
列表数据示例:
records = [
['Date', 'Time', 'Username', 'Value (A)', 'Value (B)', 'Message'],
['07.04.22', '09:00', 'John', '3.00', '3.00', 'Some string data.'],
['08.04.22', '10:00', 'Jane', '3.00', '5.00', 'Some string data.']
]
我很确定不需要 zip
函数。删除它即可。
from rich.console import Console
from rich.table import Table
records = test_records.get_all_values()
table = Table(title="Test Records")
for heading in records[0]:
table.add_column(f"{heading}")
for row in records[1::1]:
table.add_row(*row)
console = Console()
console.print(table)
您的数据已采用水平格式,而非垂直格式。
我正在尝试从不确定大小的 Google Sheet 中提取数据,并用它来构建 table 以显示在终端中,但我显然在做有事吗。我正在尝试
Animal | Age | Gender |
---|---|---|
Cat | Dog | Guinea Pig |
7 | 0.5 | 5 |
Female | Male | Male |
而不是期望的:
Animal | Age | Gender |
---|---|---|
Cat | 7 | Female |
Dog | 0.5 | Male |
Guinea Pig | 5 | Male |
谁能澄清一下?如果这很愚蠢,我们深表歉意;正如你可能会说的那样,我对 Python 很陌生。
我的实际代码是:
from rich.console import Console
from rich.table import Table
records = test_records.get_all_values()
table = Table(title="Test Records")
for heading in records[0]:
table.add_column(f"{heading}")
for row in zip(*records[1::1]):
table.add_row(*row)
console = Console()
console.print(table)
就像那个问题中的 OP 一样,我有一个列表列表,存储为上面代码中引用的变量 records
。我的列表包含我的 headers,但如您所见,我在上面的代码中分别处理了这些。也许这就是我出错的地方?
列表数据示例:
records = [
['Date', 'Time', 'Username', 'Value (A)', 'Value (B)', 'Message'],
['07.04.22', '09:00', 'John', '3.00', '3.00', 'Some string data.'],
['08.04.22', '10:00', 'Jane', '3.00', '5.00', 'Some string data.']
]
我很确定不需要 zip
函数。删除它即可。
from rich.console import Console
from rich.table import Table
records = test_records.get_all_values()
table = Table(title="Test Records")
for heading in records[0]:
table.add_column(f"{heading}")
for row in records[1::1]:
table.add_row(*row)
console = Console()
console.print(table)
您的数据已采用水平格式,而非垂直格式。