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

1. 问题描述

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

image

2. 解决办法

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

image

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

pip install chardet

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

image

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

也可以

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

posted @ 2022-01-08 15:20  Hartmon  阅读(119)  评论(0编辑  收藏  举报