Python读取文本文件中的数字以列出以计算平均值

Python读取文本文件中的数字以列出以计算平均值,python,Python,我有一个包含很多数字的文件,我想尝试用python将其读入一个列表的列表中。然后计算它的平均值或总和或其他 这是我的文本文件: 1,2,5349,2398,19,3450 10,95,201,5943,234,2319482,12 这是我的代码: def ReadList(fileName): with open(fileName, 'r') as numbers: datalist = [] for line in numbers:

我有一个包含很多数字的文件,我想尝试用python将其读入一个列表的列表中。然后计算它的平均值或总和或其他

这是我的文本文件:

   1,2,5349,2398,19,3450
   10,95,201,5943,234,2319482,12
这是我的代码:

def ReadList(fileName):
    with open(fileName, 'r') as numbers:
        datalist = [] 
        for line in numbers:
            datalist.append(line.strip().split(' '))
    return datalist
但是我的结果显示为datalist=['1,25349….3450',['10,95…,12'],它们在beining和末尾有撇号,我无法用它计算平均值。我尝试使用:
datalist.appent(int(line.strip().split(“”))
已经存在,它不会将数据转换为数字,但会添加一些其他错误

编辑:现在数据似乎没问题,因为我将其更改为
datalist.append([int(x)for x in line.strip().split(',')])

但是当我的方法是

numbers = ReadList('data.txt')

total = 0.0
for num in numbers:
     total = total + num
return total/len(nums)
同样的错误仍然出现:
“TypeError:不支持+:“float”和“list”的操作数类型

我的目标是将其作为列表中的几个单独列表,计算每个单独列表的平均值,然后将其显示在列中,例如:

List# Mean
1     (Mean value of the first list( 1,2,5349,2398,19,3450))
2     (Mean value of the second list(10,95,201,5943,234,2319482,12))

您需要在
,“
处拆分,而不是在
处拆分,因此进行此更改


line.strip().split(',')
您必须在此处执行两个操作,第一个操作必须使用
','
拆分列表,然后必须将字符串转换为int

您可以使用以下方法完成此操作:

datalist.append([ int(x) for x in line.strip().split(',') ])
这段代码将拆分字符串,将字符串转换为int,然后追加到datalist变量

编辑: 你已经更新了你的问题,以下是我的回答: 在计算平均值的块中有两个错误,第一个错误是在列表列表中迭代,因此必须遍历这两个iten,第二个错误是使用了错误的值。你在计算num的len,你应该得到数字的len。这是您的最终代码:

numbers = ReadList('data.txt')
    means = []
    for line in numbers:
         total = 0.0
         for num in line:
              total = total + num
          means.append(total/len(numbers))
    return means

你必须用逗号分开,然后转换成整数。请修改代码格式。我误解了你的问题。我已经删除了我的答案。@Onggia,我只是根据您的编辑更新了我的答案。请看一看,如果它解决了你的问题,请接受。我还有一个关于列表中的列表的问题,如果我想把两个列表中的最后一个数字都切掉怎么办?我将如何编码它。我一直在四处搜索,但多轴解释对我来说并不十分清楚。而且,我刚刚发现,这段代码的结果最终添加了第一个列表(他们继续添加以前的列表,以形成一个新的平均值,包括所有数据)@Onggia,我只是编辑我的答案来解决您指出的问题。@如果要删除列表的最后一项,可以使用[:-1]操作数,这将获得除最后一项之外的所有iten