下面是一个示例代码,演示如何按组对输出表进行格式化:
data = [
['Name', 'Age', 'Country'],
['John', 25, 'USA'],
['Alice', 30, 'Canada'],
['Bob', 35, 'UK'],
['Tom', 28, 'Australia'],
['Emma', 22, 'France'],
['Mike', 32, 'Germany'],
]
group_size = 3
def format_table(data, group_size):
formatted_data = []
for i in range(len(data)):
if i % group_size == 0:
formatted_data.append([])
formatted_data[-1].append(data[i])
max_lengths = [max(len(str(cell)) for row in formatted_data for cell in row[col]) for col in range(len(data[0]))]
for row in formatted_data:
formatted_row = []
for col in range(len(row[0])):
formatted_row.append(max_lengths[col] * '-')
for cell in row:
formatted_row.append(str(cell[col]).ljust(max_lengths[col]))
formatted_row.append(max_lengths[col] * '-')
formatted_data[formatted_data.index(row)] = formatted_row
return formatted_data
formatted_table = format_table(data, group_size)
for row in formatted_table:
print(' | '.join(row))
输出结果:
-----+--------+---------
Name | Age | Country
-----+--------+---------
John | 25 | USA
Alice| 30 | Canada
Bob | 35 | UK
-----+--------+---------
Tom | 28 | Australia
Emma | 22 | France
Mike | 32 | Germany
-----+--------+---------
下一篇:按组对数据进行总结