假设有一个txt文件,文件内部有这样四个属性,分别是’id’,’name’,’price’,’date’,让后还有一些数据,这些数据不确定是否按照你一定的规则排序,现在我想按照新的规则(比如name/price)去重新排序然后返回一个新的txt文件

f=open('1.txt')
result= []
read = f.readlines()
for line in read:
    # print(line)
    if 'id' in line:
        # 将第一行字段提前写入文件
        f=open('3.txt','w')
        f.write(read[0])
    lis = []
    for i in line.split():
        lis.append(i)
    result.append(lis)
f.close()
# 利用socked方法进行排序(x:x[2]列表传的是根据什么字段排序)
result = sorted(result,key=lambda x:x[2])
# 将列表转换成字符串
result = [' '.join(r) for r in result]
# 将文件内部的最后一条数据移除
resul = result.pop(-1)
# print(result)
# 将移除的数据添加到第一个位置
resu = result.insert(0,resul)
f=open('3.txt','w+')
# 将数据一行一行的写入文件并转换成字符串且加上换行
f.writelines('\n'.join(result))
f.close()
打赏

发表评论

邮箱地址不会被公开。 必填项已用*标注