我有一个 Python 脚本,可以从文件中读取数据并对其进行处理。我需要它来计算行数,打印给定的测量值,打印最大的测量值及其来源的 id 并计算平均值。我只做到了这一步:
with open(r"file.txt", 'r', encoding="UTF-8") as fp: #reads file
lines = len(fp.readlines())
print('number of lines:', lines) #prints the number of lines
with open(r"file.txt", "r") as fp:
measurements = fp.readlines() #stores lines in a list
measurements = [i.strip().split(' ') for i in measurements] #strips whitespaces, splits according to spaces
print(measurements)
data = [i[3] for i in measurements] #takes the 4th thing in line, stores it as a string the temps list
print('measured data:') #prints temps
for i in data:
print(i)`
我厌倦了各种方法,但我的逻辑似乎有问题,所以请
我相信这就是您正在寻找的:
通过用点替换逗号来将字符串转换为浮点数
然后再次打印以验证 i in range(len(data)):
data[i] = float(data[i].replace(',', '.')) print(measurements)
对列表进行排序并打印最后一个元素 - 最大的元素
使用索引找到对应于最高测量值的id并打印 naj_teplota =排序(data)[-1] print('1measurement:',
naj_teplota)
查找最大值所在的 ID print('measurement id:',measurements[data.index(naj_teplota)][0])
平均primer = sum(data) / len(data) print('average', primer)