我有多个文件,每个文件包含8/9列。在
对于单个文件:我必须读取包含某个值的最后一列,并计算每个值出现的次数,然后生成一个outfile。在
我的做法是:inp = open(filename,'r').read().strip().split('\n')
out = open(filename,'w')
from collections import Counter
C = Counter()
for line in inp:
k = line.split()[-1] #as to read last column
C[k] += 1
for value,count in C.items():
x = "%s %d" % (value,count)
out.write(x)
out.write('\n')
out.close()
现在的问题是,如果我必须为一个输入生成一个输出,那么它可以正常工作。但是我需要使用glob.iglob函数扫描一个目录,找到所有要用作输入的文件。然后必须对每个文件执行上述程序以收集每个文件的结果,然后当然必须将每个文件的所有分析结果写入单个输出文件。在
注意:在生成单个输出文件期间,如果发现有任何值被重复,则最好只对“count”进行求和,而不是将同一项写入两次。e、 g.第一文件生成分析:
^{pr2}$
和第二个文件生成:121 9
111 7
0 1
22 2
在这种情况下,输出文件的写入方式必须使其包含:123 6
111 12 #sum up count no. in case of similar value entry
0 7
45 5
22 2
我已经写了程序。对于单文件分析,但我被困在批量分析部分。
请帮忙。在