我在一个文件夹中有多个(大约50个)文本文件,我希望找到所有这些文件的平均数。 python是否可以自动将这些文件中的所有数字相加并找到它们的平均值?
答案 0 :(得分:0)
我假设您不想手动输入所有文件的名称,因此第一步是获取python中文件的名称,以便您可以在下一步中使用它们。
import os
import numpy as np
Initial_directory = "<the full address to the 50 files you have ending with />"
Files = []
for file in os.listdir(Initial_directory):
Path.append( begin + file0 )
现在,名为“文件”的列表具有全部50个文件。让我们做另一个列表来保存每个文件的平均值。 从每个文件读取数据取决于数据的存储方式,但我假设每一行中都有一个值。
Averages = []
for i in range(len(Files)):
Data = np.loadtxt(Files[i])
Averages.append (np.average(Data))
循环遍历所有文件,数据将值存储在每个文件中,然后将其平均值添加到“平均值”列表中。
答案 1 :(得分:0)
如果我们可以解开完成所需步骤的步骤,就可以做到这一点。
步骤:
os
的模块,可让您与文件系统进行交互。您需要使用它来访问文件并从中读取文件。open
函数创建路径以查找准确的文件。您可以尝试以下操作:
#!/usr/bin/env python
import os
file_count=0
total=0
dir_name='your_directory_path_here'
for files in os.listdir(dir_name):
file_count+=1
for file_name in files:
file_path=os.path.join(dir_name,file_name)
file=open(file_path, 'r')
for line in file.readlines():
total+=int(line.strip('\n'))
avg=(total/file_count)
print(avg)