在mac电脑中执行
movieDict = {}
with open('/Lectures/KNN/u.item') as f:
temp = ''
for line in f:
#line.decode("ISO-8859-1")
fields = line.rstrip('\n').split('|')
movieID = int(fields[0])
name = fields[1]
genres = fields[5:25]
genres = map(int, genres)
movieDict[movieID] = (name, np.array(list(genres)),
movieNormalizedNumRatings.loc[movieID].get('size'),
movieProperties.loc[movieID].rating.get('mean'))
会报错
'utf-8' codec can't decode byte 0xe9 in position 2892: invalid continuation byte
同时如果执行给定的
line.decode("ISO-8859-1")
会报错
AttributeError: 'str' object has no attribute 'decode'
查阅了资料将open file的那部分改成了
import codecs
with open('/Lectures/KNN/u.item',encoding = "ISO-8859-1") as f:
即可解决问题
感谢:https://blog.csdn.net/ningzhimeng/article/details/78488822