一次打印出每个列表的单独计数器

时间:2016-03-30 11:22:54

标签: python list csv counter

我有6个月的通话详细记录,其中包含以下信息:发送了多少短信,以及他们是传出(分拣)还是传入(进入)。

我想要一个能告诉我类似

的代码
March: 24566 #amount of outgoing sms  
April : 24667  #amount of outgoing sms  
etc etc.

问题在于,当我使用counter时,python最终每个月都会加到另一个,并向我显示上个月结果的总和。

我应该如何修改计数器,以便它只打印出每个列表的计数器?

我走了多远:

import csv
counter = 0

Mois = ['C:/Users/kwrk9327/Desktop/octobre12.csv','C:/Users/kwrk9327/Desktop/novembre12.csv','C:/Users/kwrk9327/Desktop/mars13.csv','C:/Users/kwrk9327/Desktop/avril13.csv','C:/Users/kwrk9327/Desktop/mai13.csv','C:/Users/kwrk9327/Desktop/juin13.csv']
for element in Mois:
    print (element)

    with open(element, 'r',encoding="utf8",errors='ignore') as csvfile:
        reader=csv.reader (csvfile, delimiter=';')

        for line in reader:
            if line[4]=='SMS'and line [1]=='Sortant':
                    counter= counter+1
    print("The result for", element, counter)

2 个答案:

答案 0 :(得分:1)

您需要为每个csv文件重置计数器。目前您只在开始时重置一次,因此只有第一个文件/月的计数是正确的

答案 1 :(得分:0)

a=c(1, 1, 1065, 1072, 9999, 0) b=c(1, 1065, 1065, 1072, 0, 9999) c=c(9999, 1065, 1072, 1072, 0, 1) df=data.frame(a, b, c) 语句之前with语句后,您必须将计数器清零:

for
相关问题