前言
前几天有个叫【RSL】的粉丝在Python交流群里问了一道关于CSV文件在Excel中打开后乱码的问题,如下图所示。
在Excel中直接打开csv文件,如下图所示:
群中提问:
看上去确实头大,对于爬虫初学者来说,这个乱码摆在自己面前,犹如拦路虎一般难顶。不过别慌,小编在这里给大家整理了两种方法,专门用于针对CSV文件乱码的,希望大家在后面再次遇到这样乱码的问题,在此处可以得到灵感!
一、思路
其实解决问题的关键点就是在于一点,就是编码的转换。这里例举两种方法,肯定还有其他的方法的,也欢迎大家在评论区谏言。
二、解决方案
方法一:notepad++打开
因为csv文件本质上也是文本文件,本身用notepad++打开csv文件是可以直接打开,不会乱码的。如果在网络爬虫的时候,指定了存储格式为utf-8编码,那么该csv文件用notepad++打开是没啥问题的。
f = open('filename.csv', mode='a', encoding="utf-8")csvwriter = csv.writer(f)
如下图所示:
因为我源文件本身就是韩语和日本语,所以看到的就是这个了,上图绝不是乱码哈,别误导了大家,嘻嘻!
方法二:Excel转换
这个方法稍微复杂一些,但是比较好理解,对于初学者来说,还是比较好接受的,直接在Excel中进行操作,步骤如下。
1)打开一个Excel文件,之后依次点击“数据”-->“从文本/CSV”,如下图所示。
2)之后选择需要加载的CSV文件,然后会自动弹出下图
从这里看的是原始文件,确实是乱码的存在,接下来需要稍微设置下就可以了。
3)文件原始格式设置为“无”或者你的原始编码“UTF-8”;分隔符默认是逗号;数据类型检测选择基于整个数据集,最后选择右下方的加载,如下图所示。
4)之后稍等片刻,CSV文件就会自动加载到Excel,如下图所示。
因为我源文件本身就是韩语和日本语,所以看到的就是这个了。
5)在Excel中的显示,如下图所示:
看上去还是比较清爽的,如此一来,中文乱码的问题就迎刃而解了。之后你就可以进行进一步的转存为标准的Excel文件或者进行数据处理都可以。