python按列做排序

其实在服务器上可以用shell实现,但是shell这种鬼画符的东西,还得记住参数,我这回用python实现

比如我的文件是
452 /data/00/ule.cn/211/97/1312234389
1234 /data/00/ule.cn/211/98/1312234390
404 /data/00/ule.cn/211/98/131223490

我想按照第一列排序
简单的说就是先遍历一下,然后把每一行转换成元组,再装到列表里,可以用sorted方法
关键是key这个参数,这里是是可迭代对象,再取索引就行了,会生成一个新的列表

def get_row_list_from_file_read(file_write):
    list_path = []
    with open(file_write,'r') as file_object:
        lines = file_object.readlines()
        for line in lines:
            line = line.strip('\n')
            res_list = line.split('\t')
            res_tuple = tuple(res_list)
            list_path.append(res_tuple)
    return list_path
#
res = get_row_list_from_file_read(file_write)
out_data = sorted(res, key = lambda x:x[0])
for sort_list in out_data:
    res_list = list(sort_list)
    with open(file_write_sort,'a') as file_object:
        file_object.write(res_list[0]+","+res_list[1]+'\n')
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值