最近在处理短文本数据,遇到了各种各样的中文乱码问题,所以下面总结一下自己遇到的问题
1. 画图中文乱码
这一类是最最常见的一类
from pylab import mpl mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体 mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
2. pandas 导入csv文件
df = pd.read_csv(path , engine = 'python')
或者
df =pd.read_csv(path,engine='python',encoding = 'utf-8')
# 一般来说第一种可以解决
除了使用的方法,还有一种就是,在导入数据之前,在notepad++中提前把文本的编码进行转换
3. 导入txt文件时
出现 “ UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 7 ” 这一类报错
其主要的原因是,要打开的文件中,有‘gbk’解析不了的文本内容,可能是文件格式并非'gbk'格式的。在网上找了很多方法最后使用下面这一种解决
首先指定文本的编码格式为utf-8的,接着对于仍然无法识别出来的,因此使用errors来忽略错误
with open(path , 'rb' ,encoding='utf-8' , errors = 'ignore')