一、博客背景
我偶尔会接到把csv导入数据库的任务,我通常都是先用pd.read_csv读取文件数据,接着用df.to_sql导入数据库。有时read_csv会遇到不同的字符编码问题,我的解决方法通常是把常用的几种字符编码挨个试一下,哪种结果正确就选择哪一种。
二、博客目的
今天在这里,把我遇到的几种字符编码梳理汇总一下,方便自己和大家以后查询。
三、可以参考的字符编码
1、我在read_csv遇到过的字符编码
这里先放一下我用read_csv遇到过的编码吧。reader = pd.read_csv(file_path
, sep='\t'
# , encoding='gb18030'
# , encoding='unicode_escape'
, encoding='utf-16'
# , encoding='utf-8'
# , nrows=5
, chunksize=20000
)
我们主要看encoding参数,其他参数这里不讨论。
有的csv文件不加encoding参数也能顺利读取,有的用utf-8就行,但是遇到极个别刁钻的,则需要用其他编码方式。
编码方式如果想要搞透彻需要多看几篇博客了,等我研究后再添加到文后。
下面我之前遇到的编码方式的问题,如果你不幸也到了编码问题,就试下上面几种encoding,如果还不行就查阅其他网页吧。
2、常见的bug
UnicodeDecodeError: utf-8