Python中的文件排序

Python中的文件排序,python,sorting,Python,Sorting,我想根据数值对Python中的文件进行排序: 我的输入文件如下所示: 66135 - A 65117 - B 63301 - C 63793 - D 输出应为: 63301 - C 63793 - D 65117 - B 66135 - A 怎么做?你可以用这种方法试试 with open('filename','r') as file: # spilt() the line with '-' lis=[line.strip().split('-') for line in

我想根据数值对Python中的文件进行排序:

我的输入文件如下所示:

66135 - A
65117 - B
63301 - C
63793 - D
输出应为:

63301 - C
63793 - D
65117 - B
66135 - A
怎么做?

你可以用这种方法试试

with open('filename','r') as file:
    # spilt() the line with '-'
    lis=[line.strip().split('-') for line in file]
    # sort the lis using the values
    print sorted(lis,key=lambda x:int(x[0].strip()))

其中f2是输出文件,f1是输入文件

这是一个完整的代码

with open('inputFileName') as fp:
    lst = map(lambda s:s.rstrip(), fp.readlines())

with open('outputFileName', 'w') as fp:
    fp.write("\n".join(sorted(lst, key=lambda s:int(s.split()[0]))))

你试过什么?请出示您的代码,我们将提供建议。另外,输入文件中的所有数据都在一行上,还是每个条目都在一行上?每个条目都在一行上?请指出我的错误,以便我可以learn@Priya这不是给你的。一个人连续否决了所有的答案/her@Priya当前位置连续否决投票人是指否决一切的人。我们这里没有。我否决了其中一个答案,但不是这一个。但事实上,否决票应该伴随着解释。@StevenRumbalski ya!你说得对。如果他们能够发现问题并了解我,我接受否决票。至少没有评论。这是站不住脚的。但是thanks@Priya如果您有任何python问题,请联系我iamsundar04@gmail.comthis排序失败。以1,2,11为例。通过这种方式,它对1,11,2进行排序,但OP需要1,2,11@sundarnataraj我没有注意到这一点。谢谢所以每个人都使用
int(split…
)。
with open('inputFileName') as fp:
    lst = map(lambda s:s.rstrip(), fp.readlines())

with open('outputFileName', 'w') as fp:
    fp.write("\n".join(sorted(lst, key=lambda s:int(s.split()[0]))))