UnicodeDecodeError:' ascii'编解码器不能解码位置11597中的字节0xff:序数不在范围内(128)

时间:2017-10-19 02:24:40

标签: python macos encoding jupyter-notebook text-classification

我在jupyter中使用众所周知的20个新闻组数据集进行文本分类。当我尝试在Mac上打开并读取文件时,它在解码步骤失败。我尝试以字节格式读取文件,但是我还需要将其作为字符串使用。我试图对它进行编码,但它失败并出现错误。

代码

with open(file_path, 'rb') as f:
  file_read=f.read()
  file_read.decode("us-ascii")

错误

UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 11597: ordinal not in range(128)

Us-ascii是我在终端输入时找到的文件编码:file -I file_name。我尝试了其他编码但没有效果。 我还想删除标点符号并计算文件中的单词。有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:0)

不看文件很棘手。然而,这在大多数时间都适用

from codecs import open
file_path = "file_name"
with open(file_path, 'rb') as f:
  file_read=f.read()

答案 1 :(得分:0)

设置错误忽略解决问题,谢谢N M.代码如下:

ref_file=open(ref_file_path, 'r', encoding='ascii', errors='ignore') 
file_read=ref_file.read()

代码进一步将其视为一个大字符串。请注意,虽然错误是关于解码0xff,但它不是UTF-16编码。