gpt4 book ai didi

python - 按特定字段对文件进行排序

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:53:34 24 4
gpt4 key购买 nike

我有一个具有以下格式的文件:
12345 TAB_HERE 姓名:真实姓名 TAB_HERE 6785

例如。


1001020 Name : SMITH S ANNALOLA     145705701061 Name : MATTHEW SANDY HILL   64407001083 Name : TANYA MORRISON MILLER    14406

我想按最后一个数字字段排序。

我更喜欢简单的一行 python 解决方案或基于 linux 工具的解决方案。

我尝试使用 sort -k 3,3n 但它没有用。
而且我似乎无法编写可以作为 python -c "code here"运行的单行 python 代码

我查看了以下内容,但无济于事:

http://www.unix.com/unix-dummies-questions-answers/18359-how-do-i-specify-tab-field-separator-sort.html

http://www.unix.com/unix-dummies-questions-answers/30450-sort-third-column-n-command.html

http://www.linuxquestions.org/questions/programming-9/unix-sort-on-multiple-fields-598813/

最佳答案

快速解决方案:

import sys
print "".join(sorted(sys.stdin.readlines(), key=lambda x:int(x.split()[-1])))

这个解决方案有一些缺点。例如,如果您在最后一个字段中有没有编号的行,或者如果您不希望按最后一个字段而是按其他所有内容对数据进行排序,它将不起作用。在这种情况下,您必须使用正则表达式(re 模块)并在 key 函数中描述要用于排序的字段。

关于python - 按特定字段对文件进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11086972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com