pandas解析MovieLens 1M数据集报错 UnicodeDecodeError

1. 问题描述

跟着书本学习的时候,发现从github下载的数据集,用pandas读取的时候会报错:

pandas解析MovieLens 1M数据集报错 UnicodeDecodeError

2. 解决办法

显然是编码的问题,用file命令查看文件编码:

pandas解析MovieLens 1M数据集报错 UnicodeDecodeError

ISO-8859python中的编码是ISO-8859-1,可以通过下述函数判断出来:

pip install chardet

def get_encoding(file):
    with open(file, 'rb') as f:
        return chardet.detect(f.read())['encoding']

pandas解析MovieLens 1M数据集报错 UnicodeDecodeError

因此,使用encoding参数指定实际的文件格式即可。

也可以

movies = pd.read_table('movies.dat', encoding=get_encoding('movies.dat'), sep='::', header=None, names=mnames, engine='python')

上一篇:跟浩哥学自动化测试Selenium -- 浏览器的基本操作与元素定位(3)


下一篇:C++STL总结笔记(三)—— 常见算法