博主最近搞了点自然语言处理还有爬虫的东西,所以与文字大量打交道。发现有时候下载下来的中文,或者是爬虫下来的中文资料,存为csv文件的时候存在乱码的问题。
比如我下载的一个中文文本分类的数据集,打开居然长这个样子:
emmmm,看着就头大,我研究了一下乱码的原因,主要是excel打开csv文件的时候使用的编码方式不对。如果你用记事本打开这个文件就会发现是正常的。
我们可以看到右下角的编码方式是“utf-8”,所以有个使用这个编码方式打开csv文件才行。
网上给出了很多解决方法,但是都不是很好用啊,比如修改excel的设置,新建excel文件然后导入数据源换编码......
其实Python就一行代码就可以解决这个事情,用pandas打开csv文件,使用对应的编码方式,然后再存为excel文件就行。
import pandas as pd
pd.read_csv('online_shopping_10_cats.csv',encoding='utf-8').to_excel('十分类文本.xlsx',index=False)
结果如下:
转码大功告成!
其实不止csv文件,理论上乱码都是打开的编码方式不对造成的,只需要你找到原来的编码方式,然后存为 现在要使用软件的打开的 编码方式就可以解决乱码问题。