文件内部数据排序
假设有一个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()