python 读取中文CSV 'gbk' codec can't decode bytes in position 2-3:illegal multibyte sequence

读取中文的文档如Excel,CSV文件,需要中文编码 如gbk 解码才能转Unicode;然而 数据混合类型,读CSV文件就会出错,经管Excel正常。

UnicodeDecodeError :'gbk' codec can't decode bytes in position 2-3:illegal multibyte sequence

意思是:将一个字符串,通过gbk的方式,去解码,想要获得Unicode字符串,结果出错了

解决方法:处理的字符的确是gb2312,但是其中夹杂的部分特殊字符,是gb2312编码中所没有的。

如果有些特殊字符是GB18030中有的,但是是gb2312中没有的,则用gb2312去解码,也比较会出错。 所以,此种情况,可以尝试用和当前编码(gb2312)兼容的但所包含字符更多的编码(gb18030)去解码,或许就可以了。

GB2312,GBK,GB18030,是兼容的,包含的字符个数:GB2312 < GBK < GB18030

来自 <http://blog.csdn.net/junkichan/article/details/51913845>