Python实现txt文件读取数字,排序,求均值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python实现txt文件读取数字,排序,求均值?相关的知识,希望对你有一定的参考价值。

txt 内的数据: 25.3 46.2 5.1 7 4.9
要求:从已知的文件1.txt中读取数据(只有数字,空格隔开),求平均值并对结果向下取整,(向下取整)例如:[4.5]=4,[-3.5]=-4,并且将1.txt文件中的数据进行升序排序,将排序结果和平均值取整后的数写入到2.txt中,并用空格隔开。

python用法非常简单。
代码如下:
import math
f=open("1.txt")
s=f.read()
nums=s.split(" ")
sum=0
count=len(nums)
min=-99999999
for num in nums:
sum=sum+int(num)
avg=math.floor(sum/count)
nums.sort(key=int)
result=''
f=open("2.txt","w")
reault=result+' '.join(nums)
result=str(result)+" "+str(avg)
f.write(result)
这样就可以了。
参考技术A

本回答被提问者采纳

从 .txt 文件中读取数据并在 Python 中计算平均值

【中文标题】从 .txt 文件中读取数据并在 Python 中计算平均值【英文标题】:Reading data from .txt file and calculating mean in Python 【发布时间】:2020-07-11 05:10:25 【问题描述】:

我对我的 Python 代码有疑问。 我想从.txt 文件中读取数据并计算这些值的平均值。 .txt文件的格式为(1纵列):

1.36
5.5
6.11
12.05
25.8
38.28

我写的代码是:

 from statistics import mean

 with open('inputdata.txt','r') as fin:
     data=fin.read().split('\n')
     for index in range(len(data)):
         average=mean(float(index))

  print(average)

我使用了上面的代码,但是在命令窗口中显示了以下消息:

if iter(data) is data:
TypeError: 'float' object is not iterable

谁能帮帮我?

【问题讨论】:

如果我执行此命令窗口会显示:TypeError: can't convert type 'str' to numerator/denominator 遍历data 并对每个数字进行浮点运算;将整个事情传递给mean - average = mean(float(n) for n in data) 现在可以了!!!非常感谢!!! 【参考方案1】:

您可以通过用“\n”分割来创建一个值列表并将这些值转换为浮点数,然后您可以使用统计数据的平均值计算该列表的平均值:

from statistics import mean

with open('inputdata.txt','r') as fin:
    data=[float(x) for x in fin.read().split('\n')]

average = mean(data)
print(average)

【讨论】:

口头解释对您的回答很有帮助

以上是关于Python实现txt文件读取数字,排序,求均值?的主要内容,如果未能解决你的问题,请参考以下文章

从 .txt 文件中读取数据并在 Python 中计算平均值

JAVA写个东西读取TXT中的数据 且要计算出平均值和总值 最后还要按总值排序

向vb 高手求助代码编程:菜单中打开txt或excel数据表文件,求某列中几个数求平均,找出并输出均值附近数据

python3.6怎么读取照片的均值

求java 程序 要求:读取txt文件,文件里面有很多行数字,然后输出每一行里面,各位数字的和 例

pandas同时读取一个excel中几个sheets,并且将其中对应的列求平均值