使用python对text文件提取信息,并排序

如图所示,想要提取该文件每行第2到第6个数据,并且按照第二个数据排序
在这里插入图片描述
算法思想:

  1. for循环,将每行的第2到第6个数据提取出来

     1.1 将数据存放在一个列表里面
     1.2 将列表的存在字典的值里面,行数做键
    
  2. 按照值排序 # 这样数据会按照从小到大的顺序排序

  3. 将排序好的字典里的值重新提取到列表里面,完成排序

# 打开一个文件
f = open("E:\AI\jupyter/EVS3.txt", "r")
AllDict={}
UpdataDict={}

i=0
for line in f:
    NumList=[int(n) for n in line.split()]
    # print(NumList)
    key,value=i,NumList[1:6]
    # print(key,value)
    i +=1
    emptyDict = {(key):value}
    # print(emptyDict)
    AllDict.update(emptyDict)
    
    
print(AllDict)
print('按(value)排序:')


UpdataDict=sorted(AllDict.items(),key=lambda kv:(kv[1],kv[0]))
print(UpdataDict)

# print(UpdataDict[:][1:])
# print(UpdataDict[2][1:])
listvalue=[]
for i in range(len(UpdataDict)):
    print(UpdataDict[i][1:])
    listvalue.append(UpdataDict[i][1:])

print('------')
print(listvalue)    
# 关闭打开的文件
f.close()

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐