Python prettytable按多列排序

2024-05-20 09:32:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用PrettyTable以良好的表格格式将数据打印到终端。 按单列顺序打印很容易。

from prettytable import PrettyTable

table = PrettyTable(["Name", "Grade"])
table.add_row(["Joe", 90])
table.add_row(["Sally", 100])
print table.get_string(sortby="Grade", reversesort=True)

>> Table with Sally on top, because her score is highest.

我的问题是我想分两列。在这种情况下,我想按年级打印,然后按字母顺序打印,如果有领带的话。

table = PrettyTable(["Name", "Grade"])
table.add_row(["Joe", 90])
table.add_row(["Sally", 100])
table.add_row(["Bill", 90])
print table.get_string(sortby=("Grade","Name"), reversesort=True)

>> Doesn't work

文档中说sort_键允许我编写一个函数来完成这项工作,但是我还没有看到一个实际的实现可以完成。


Tags: nameaddtruegetstring顺序tablesally