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中,并用空格隔开。
代码如下:
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数据表文件,求某列中几个数求平均,找出并输出均值附近数据