Python:按列值排序文本表格
文本表格的输出:
Label1 | String | Count
-------------------------------------------------------------------------
Addr[24]: | "Akjalfj " | 15
Addr[25]: | "laflklk" | 16
Addr[26]: | "amfalkj" | 13
Addr[27]: | "asflklal" | 21
我想根据计数值对上面的文本表格输出进行排序,按从大到小的顺序排列。
Addr[27]: | "asflklal" | 21
应该出现在第一行。我该如何在Python中实现这个呢?
1 个回答
0
如果你因为某些原因不能在添加之前对行进行排序,你可以先把数据读进来,然后进行排序,再写入到另一个文件中:
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()))
这样输出的结果会有效,但前提是所有的行格式都和你的例子一样:
Label1 | String | Count
-------------------------------------------------------------------------
Addr[27]: | "asflklal" | 21
Addr[25]: | "laflklk" | 16
Addr[24]: | "Akjalfj " | 15
Addr[26]: | "amfalkj" | 13