2016-03-30 16 views
0

私は6ヶ月間の通話明細記録を持っています。送信されたSMSの数、発信(ソート)または着信(入信)のいずれであったかを示します。リストごとに別々のカウンターを一度に印刷する

私はのために、結果として私の問題は、私はカウンターを使用する場合、Pythonは他に毎月合算終わるということで、私のすべての合計を示し

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

ような何かを伝えるコードをしたいです先月。

カウンタを変更して各リストのカウンタを一度に印刷できるようにするにはどうすればよいですか?

どこまで私が来た:

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) 
+0

、あなたは何をすべきかすぐに意味するのだろうか?このコードは、各要素の 'counter = 0'の後でそれを行うのではありませんか? – Lafexlos

答えて

1

あなたは、各CSVファイルのカウンターをリセットする必要があります。あなたは一度だけ初めにそれをリセット現時点では、その最初のファイル/月の唯一のカウントは、あなたがfor文の前with文の後にカウンタをゼロにする必要が正しい

0

です:

with open(element, 'r',encoding="utf8",errors='ignore') as csvfile: 
    reader=csv.reader (csvfile, delimiter=';') 
    counter = 0 
    for line in reader 
関連する問題