pandas read_csv编码问题

一早上就连遇两个中文编码问题报错,果然在python里中文编码就是踩不完的坑。

第一个报错:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xca in position 8: invalid continuation byte
csv文件当中的中文编码问题,打开时加入encoding=‘gb2312’即可解决。
pd.read_csv('a.csv',encoding='gb2312')

第二个报错:

pandas.errors.ParserError: Error tokenizing data. C error: Expected 4 fields in line 225, saw 6
因为csv文件默认分隔符是逗号分隔符,此时若文件中储存的信息也含有逗号时,解析器会把储存信息里的逗号也当成分隔符,就会导致列数不一致,read_csv打开报错。特别是在中文里又经常使用逗号,稍不注意就会出错。
解决办法是在写入csv文件的时候使用其他分隔符,“|”,“\t”等。记得打开时也要加入分隔符说明delimiter = ‘\t’
pd.read_csv('a.csv',delimiter='\t')
如果csv文件不是自己写的,就手动把逗号删掉再打开吧。

你可能感兴趣的:(pandas read_csv编码问题)