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')
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页