在 .txt python 中计算一些平均值

Calculate some averages in .txt python

我有一个名为 ecc.txt.txt 文件。它包含 8000 多行数字。我想计算该文件中每 360 行的平均值。 这是代码:

import math

f = open(r'ecc.txt').read()
data = []
for line in data:
    sum = 0
for i in range (len(data)):
    if i % 360 != 0:
        sum = sum + ecc[i]
    else:
        average = sum / 360
        print(average)
        sum = 0

当我运行它时,什么也没有发生。我没有得到任何结果。代码只是 运行 并且没有任何结果结束。

这段代码有问题吗? 谢谢。

您的代码可以进行一些更改:

import math

data=[]
with open(r'ecc.txt') as f:
    for i in f:
        data.append(int(i))
for line in data:
    sum = 0
for i in range (len(data)):
    if i%360 !=0:
        sum = sum + ecc[i]
    else:
        average = sum/360
        print(average)
        sum=0

不过请注意,此代码不包含每个第 360 个元素的值(我想这不是求平均值的问题)而且您也没有最后一个元素的平均值

avg_dict = {}
with open('ecc.txt') as f:
    data = f.read().split(' ')
    sum = 0
    i = 0
    for str_number in data:
       sum += int(str_number)
       i += 1
       if i % 360 == 0:
          avg_dict[i] = sum/360
          sum = 0

我假设您的文件文本有一个空的 space 作为分隔符。否则,您可以在 split 方法中更改 sep 值。如果没有分隔符更改数据为:

data = list(f.read())