Python使用列表实现:读取文本文件data.txt(文件中每行存取一个整数),将其按照升序排序后再写入文本文件data_asc.txt文件中

一、问题描述 

        已知一个文本文件(data.txt),其中存有若干数据,存储数据均为整数(不同整数之间以换行符进行的分隔),现要求使用python读取原始数据文件(文件中每行存取一个整数),将其按照升序排序之后再写入文本文件data_asc.txt文件中保存并存储。

二、代码实现

  • 方法一:

import pandas as pd
import numpy as np
df=open("C:/Users/lenovo/Desktop/data.txt")#定义变量df用于存储目标数据文件
list1=[]#定义一个空列表,用于存储原有数据文件中的数据
for line in df:#定义变量line用于实际遍历文件中每行的数据,然后依次将数据添加至列表中
    list1.append([int(x) for x in line.split()])
list1#此时原先的空列表中添加了以行为单位的嵌套列表存储形式的列表
list1.sort(reverse=False)#将列表中元素进行排序,此处为升序;反之,False为降序
list1
f=open("C:/Users/lenovo/Desktop/data_asc.txt","w")
for row in list1:
    rowtxt = '{}'.format(row[0])
    f.write(rowtxt)
    f.write('\n')
f.close()
  •  方法二:

with open ("C:/Users/lenovo/Desktop/data.txt") as f:#根据数据文件实际存储路径准确填写
    data=f.readlines()#使用按行读取的方法读取数据文件中的所有元素
data=[int(line.strip()) for line in data]#将读取到的数据按行方式进行存储,同时去除中间的换行符
data.sort()#使用列表中的内置函数sort对完成处理后的列表进行重新排序
data=[str(i) + '\n' for i in data]#由于经过处理后的列表中的数据是使用行格式进行存储的,为转化为按照每行一个整数的形式进行输出需要进行转化,因此使用了列表推导式的循环遍历方法添加空格
with open ("C:/Users/lenovo/Desktop/data_asc.txt","w") as fp:#最后data变量经过上述处理之后成为了满足条件要求的数据,可以直接使用writelines(data)的方式进行输出
    fp.writelines(data)

三、结果展示

  • 4
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值