2017-07-21 40 views
1

我試圖收集從文件的錯誤,我需要指望他們 這是輸出我需要:[ERROR1:6,誤差2:3,誤差3:2]錯誤:unhashable類型=「清單」

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.extend(..)'而不是'errors.append(..)'。 –

回答

1

你寫:

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

現在error.split('\n') will **return a list**. As a result, error`是字符串列表,但字符串列表清單。你可能要替換它:

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

現在errors將是一個字符串列表,而字符串是哈希的項目。

+0

謝謝!有效 –

相關問題