问题描述:
在使用read_csv时报错:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc9 in position 9451: invalid continuation byte
或者:
UnicodeDecodeError: 'gb2312' codec can't decode byte 0x88 in position 68296: illegal multibyte sequence
问题原因:
因为csv不是按照utf-8格式写入的,可能是其他格式,而pandas默认是使用utf8来进行解码的,所以可以使用 gbk 格式来进行读取:
df = pd.read_csv('a.csv', encoding='gbk')
拓展说明:
可以通过如下方式获取文件的编码格式:
import chardetdef find_encoding(fname):r_file = open(fname, 'rb').read()result = chardet.detect(r_file)charenc = result['encoding']return charenc