Python:按列值排序texttable

2024-04-28 23:06:25 发布

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

文本表输出:

 Label1        |  String                                         | Count  
-------------------------------------------------------------------------
Addr[24]:      | "Akjalfj "                                      |   15          
Addr[25]:      | "laflklk"                                       |   16     
Addr[26]:      | "amfalkj"                                       |   13 
Addr[27]:      | "asflklal"                                      |   21

我想根据计数值按降序对上面的texttable输出进行排序。
Addr[27]: | "asflklal" | 21应该出现在第一行。如何在Python中实现这一点?在


Tags: 文本string排序count数值addrlabel1texttable
1条回答
网友
1楼 · 发布于 2024-04-28 23:06:25

如果由于某种原因无法在添加之前对行进行排序,则可以先读入该行并进行排序,然后写入另一个文件:

with open('in.txt', 'r')  as f,open('output.txt','w') as f1:
    lines = f.readlines()
    updated = sorted(lines[2:],key = lambda x: int(x.strip()[-3:]),reverse=True)
    for line in lines[0:2]:
        f1.write(line)
    for line in updated:
        f1.write("{}\n".format(line.strip()))

此输出,仅当所有行的格式与示例相同时才有效:

^{pr2}$

相关问题 更多 >