pythontxt怎么排序_利用Python读写TXT文件,并对里面的数字进行排序

先看效果结果

首先,我们的TXT文件是这样的。

00985ea18d03?from=singlemessage

我们想要的结果是这样的

00985ea18d03?from=singlemessage

废话不说上代码

count = 1

all_count = 1

filename = "code.txt"

country_list = []

with open(filename, "r") as ins: //打开文件

for line in ins: //循环文件的每一行

all_count += 1

line = line.replace(" ", "") //把空格和换行都去掉

line = line.replace("\n", "")

if '='in line and '|' in line:

equal_symbol_idx = line.index('=') //利用index函数来标记出我们想要的字段的位置

or_symbol_idx = line.index('|')

count+=1

else:

continue

code = int(line[equal_symbol_idx+1:or_symbol_idx]) //取出我们想要的字段

name = line[or_symbol_idx+2:]

country_list.append((code, name))

country_list = sorted(country_list, key=lambda x: x[0]) //对list进行排序

for countryCode in country_list: // 把list换成我们想要的dict格式

code = 'code'

country = 'country'

codeObj = { code: countryCode[0], country: countryCode[1] }

print (codeObj,',') //打印出来

终端打印出来的结果是这样的

00985ea18d03?from=singlemessage

这样就达到我们想要的效果啦~~

代码解析

由于我们只是需要文件里面的文字,并不关心它的样式,所以我们使用TXT文件。对TXT文件的读写也是最基本的文件操作。

文件的打开

文件的打开有两种种方式

1、f = open('/tmp/test.txt', 'r')

2、with open('/tmp/test.txt', 'r') as file_to_read:

其中:

  • r 代表只读
  • w 代表可写
  • a+ 代表读写
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,我们需要读取学生成绩文件,可以使用Python内置的open函数打开文件,然后使用readlines方法读取文件的每一行数据。接着,我们可以使用split方法将每一行数据按照空格分割成列表,然后将学生姓名和成绩分别存储到字典。最后,我们可以使用sorted函数对字典的成绩进行排序,然后输出排名前几名的学生姓名和成绩即可。 具体实现代码如下: ```python # 打开学生成绩文件 with open('scores.txt', 'r') as f: # 读取每一行数据 lines = f.readlines() # 定义一个空字典,用于存储学生姓名和成绩 scores = {} # 遍历每一行数据 for line in lines: # 将每一行数据按照空格分割成列表 data = line.strip().split() # 将学生姓名和成绩分别存储到字典 scores[data[0]] = int(data[1]) # 对字典的成绩进行排序 sorted_scores = sorted(scores.items(), key=lambda x: x[1], reverse=True) # 输出排名前几名的学生姓名和成绩 for i in range(3): print('第{}名:{},成绩:{}'.format(i+1, sorted_scores[i][0], sorted_scores[i][1])) ``` 以上代码,我们假设学生成绩文件名为'scores.txt',并且只输出排名前3名的学生姓名和成绩。如果需要输出更多名次的学生信息,只需要修改最后一个for循环的范围即可。 ### 回答2: 在Python,我们可以使用文件读写操作对学生的成绩进行排序文件读写提供了一个非常方便的方式来读取大量的信息,然后对这些信息进行处理和排序。 以下是一个简单的Python程序,它可以读取一个包含学生成绩的文件,然后将其排序: ``` # 打开文件 with open('scores.txt', 'r') as f: # 读取文件的每一行 lines = f.readlines() # 将每一行分割成列表,并将成绩转为数字类型 scores = [] for line in lines: fields = line.strip().split(',') name = fields[0] score = int(fields[1]) scores.append((name, score)) # 根据成绩从高到低排序 scores.sort(key=lambda x: x[1], reverse=True) # 输出排序后的学生成绩 for s in scores: print('{0}: {1}'.format(s[0], s[1])) ``` 在这个程序,我们首先打开包含学生成绩的文件(`scores.txt`),然后读取文件的每一行。我们使用`readlines()`方法来读取每一行,这将返回一个包含所有行的字符串列表。 然后,我们对每一行进行处理,将它们的成绩转换为数字,并保存在一个列表。我们使用元组来保存每个学生的姓名和成绩。 最后,我们使用`sort()`方法对列表进行排序,根据成绩从高到低排序。在这里,我们使用一个匿名函数来指定排序顺序,该函数接受每个元组为参数,并返回该元组的第二个元素(即成绩)。 最后,我们遍历排序后的列表,并打印每个学生的姓名和成绩。 需要注意的是,在读取文件时,我们使用了`with`语句来打开文件。这样做有两个好处:首先,当`with`块结束时,文件将被自动关闭;其次,这样做可以确保在任何情况下都能正确关闭文件,即使发生异常也不例外。 ### 回答3: Python文件读写是处理和存储数据的重要工具之一。对于数据处理的学生成绩排序Python有许多方法可以实现。 首先,将学生成绩数据保存在一个文本文件,每行表示一个学生的成绩信息,包括学生姓名、学号和成绩。可以使用Python的open()函数来打开文件读取文件的数据。文件可以保存在本地文件系统,也可以保存在网络上的存储设备或者是云存储上。 然后,可以使用Python的Pandas库来对数据进行排序。Pandas是一个数据分析库,提供了许多数据分析工具和功能,包括排序和数据过滤等。在排序之前,可以使用Pandas.read_csv()函数读取文件,将其转换为Pandas的DataFrame对象,然后使用DataFrame.sort_values()函数对数据进行排序。 在排序时,根据用户需求可以选择按照学生姓名、学号或者成绩等数据字段进行排序。可以使用DataFrame.sort_values()函数的参数来指定按照哪个字段进行排序,例如:df.sort_values(by='成绩'),表示按照成绩字段进行排序。 另外,在排序时还可以设置升序或降序排列。通过设置参数ascending来指定降序还是升序,True表示升序,False则表示降序。 最后,将排序后的数据保存到新的文本文件或将其输出到控制台或其他设备上。 总之,Python文件读写Python程序不可或缺的一部分。通过读取、处理和存储数据,我们可以优化数据分析的过程,并且Python的Pandas库为我们提供了更多的工具和便捷的方法,使得数据分析变得更加高效和便捷。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值