Python中读取txt文本出现:

‘gbk’ codec can’t decode byte 0xac in position 10594: illegal multibyte sequence

illegal multibyte sequence”意思是非法的多字节序列,意思是说通过gbk的方式解码出现了错误。

解决:

方法1:使用UTF-8格式打开

f = open(path,’r+’, encoding=’UTF-8′)

方法2:在读取文本的时候加入参数‘b’,不会提示错误,通过输出读取的数据显示。

file = open(path, ‘rb’)
可能传错的原因:
在开发中发现,当使用csv文件生成类似百万级的大量数据时,虽然使用wps软件打开看起来像是没有问题,但是notepad++打开.csv文件时,最后可能存在报错信息。这些报错就是导致明明使用了“UTF-8”,但仍然报错的原因。
查询csv编码,并使用对应编码打开文件:
import csvimport chardet

with open('filename.csv', 'rb') as f:
result = chardet.detect(f.read())
encoding = result['encoding']

with open('filename.csv', encoding=encoding) as csvfile:
reader = csv.reader(csvfile)
# rest of your code

作者 admin

百度广告效果展示