Python UnicodeDecodeError:&x27;utf-8';编解码器可以';在位置3131处对字节0x80进行t解码:起始字节无效 导入操作系统 进口舒蒂尔 导入编解码器 目录=“~/Desktop/ra/clean\u标记化/1987” 对于os.listdir(目录)中的文件名: 全名=目录+'/'+文件名 以open(全名,'r')作为文章: 对于第条中的行: 打印(行)

Python UnicodeDecodeError:&x27;utf-8';编解码器可以';在位置3131处对字节0x80进行t解码:起始字节无效 导入操作系统 进口舒蒂尔 导入编解码器 目录=“~/Desktop/ra/clean\u标记化/1987” 对于os.listdir(目录)中的文件名: 全名=目录+'/'+文件名 以open(全名,'r')作为文章: 对于第条中的行: 打印(行),python,unicode,utf-8,codec,utf,Python,Unicode,Utf 8,Codec,Utf,以下是回溯: 回溯(最近一次呼叫最后一次): 文件“~/Desktop/corpus\u filter/01\u corpus.py”,第11行,在 对于第条中的行: 文件“~/.conda/envs/MangerRA/lib/python3.7/codecs.py”,第322行,在decode中 (结果,消耗)=自身缓冲区解码(数据,自身错误,最终) UnicodeDecodeError:“utf-8”编解码器无法解码位置3131中的字节0x80:无效的开始字节 该文件包含日文字符,我只是尝试

以下是回溯:

回溯(最近一次呼叫最后一次): 文件“~/Desktop/corpus\u filter/01\u corpus.py”,第11行,在 对于第条中的行: 文件“~/.conda/envs/MangerRA/lib/python3.7/codecs.py”,第322行,在decode中 (结果,消耗)=自身缓冲区解码(数据,自身错误,最终) UnicodeDecodeError:“utf-8”编解码器无法解码位置3131中的字节0x80:无效的开始字节


该文件包含日文字符,我只是尝试用文件中出现的所有单词创建一个CSV文件。但是我无法克服这个错误。

Python正在尝试使用UTF-8编码打开您的文件(这是目前大多数情况下的默认编码)。不幸的是,您的文件正在使用其他编码(或已损坏),因此解码失败

不幸的是,我不能告诉你的文件使用什么编码。你得自己调查一下。您可以尝试另一种编码方式,如Shift JIS(使用
open(全名,'r',encoding='Shift-JIS')
),并查看是否获得有效文本或


如果所有其他操作都失败,您可以在二进制模式下打开文件(
'rb'
,而不仅仅是
'r'
),然后立即查看字节3131中的内容。它可能只是文件中一个混乱的数据位,您可以手动删除或修复。

我检查了文件的字符集,它显示为utf-8。如何检查位于字节3131的内容?顺便说一下,谢谢您的帮助。以二进制模式打开,然后
read()
将整个文件(或其中的一大块)放入bytestring。然后只是索引或切片
file.read()[3100:3200]
也许。。。