问题描述
回溯(最近一次调用最后一次):文件“insertion_script.py”,行 12、在 对于 f.iter() 中的行:文件“C:\Users\Administrator\Anaconda3\lib\site-packages\jsonlines\jsonlines.py”, 第 204 行,在迭代中 skip_empty=skip_empty) 文件 "C:\Users\Administrator\Anaconda3\lib\site-packages\jsonlines\jsonlines.py",第 143 行,已读 lineno,line = next(self._line_iter) File "C:\Users\Administrator\Anaconda3\lib\codecs.py",line 322,in decode (结果,消耗)= self._buffer_decode(数据,self.errors,final) UnicodeDecodeError: 'utf-8' 编解码器无法解码字节 0xa3 的位置 886: 无效的起始字节
BH_data = []
with jsonlines.open('2401659.jsonl','r') as f:
for line in f.iter():
BH_data.append(line)
解决方法
这意味着您的数据实际上不是 UTF-8。 0xA3 恰好是 Windows 代码页中的英镑符号。你应该试试
import codecs
with codecs.open('2401659.jsonl','r',encoding='cp1252') as jfile:
with jsonlines.Reader(jfile) as f: