2017-07-21 14 views
1

私は、ファイルからエラーを収集しようとしていると私はこれは私が必要とする出力である彼らに をカウントする必要があります:[ERROR1:6、ERROR2:3、error3:2]エラー:非ハッシュタイプ=「リスト」

import os,sys 
import collections 
Data = [] 
errors = [] 
with open('out.txt') as f: 
     for line in f: 
      Data.append([word for word in line.strip().split("\t")]) 
for item in Data: 
    try: 
     date,error = item[0],item[5] 
     errors.append(error.split('\n')) 
    except IndexError: 
     print "A line in the file doesn't have enough entries." 

counter = collections.Counter(errors) 
print counter 
+1

私はあなたが 'errors.append(..)ではなくerrors.extend(..)をしたいと思います。 –

答えて

1

あなたは書く:

errors.append(error.split('\n')) 

error.split('\n') will **return a list**. As a result, ERROR`がない文字列のリストが、文字列のリストのリストです。あなたはおそらくでそれを交換したい:今すぐ

errors += error.split('\n')

errors文字列のリストで、文字列はハッシュ可能アイテムであるだろう。

+0

ありがとうございます!出来た –

関連する問題