pandas解析MovieLens 1M数据集报错 UnicodeDecodeError
1. 问题描述
跟着书本学习的时候,发现从github
下载的数据集,用pandas
读取的时候会报错:
2. 解决办法
显然是编码的问题,用file
命令查看文件编码:
ISO-8859
在python
中的编码是ISO-8859-1
,可以通过下述函数判断出来:
pip install chardet
def get_encoding(file):
with open(file, 'rb') as f:
return chardet.detect(f.read())['encoding']
因此,使用encoding
参数指定实际的文件格式即可。
也可以
movies = pd.read_table('movies.dat', encoding=get_encoding('movies.dat'), sep='::', header=None, names=mnames, engine='python')