大家好,欢迎来到IT知识分享网。
最近网友抱怨,收到别人发来的数据表,打开后长这样:
除了数字,其他是啥玩意儿
完全乱码。。。
(乱码!乱马!乱吗?乱!)
但是当使用记事本打开,检查确认是否文件有问题时,显示完全正常,根本没有乱码。
用最最普通记事本打开文件能够正常显示,用Excel打开却显示不正常。。。
这是怎么回事?(乱马也在想…)
难道没安装好需要卸载重装?(走投无路的招数,然并卵)
No~No~No
实际上是由于文件编码与Excel编码不一致造成。
查看csv文件的编码:
使用记事本打开csv文件,点击另存为,在最下面一行的编码默认显示,就是此文件的编码。
而Excel的默认编码目前没有定论,官方也没有给出任何解释说明。
但众多猜测集中在两种:或是Unicode或是ANSI。
一边是编码UTF-8,另一边是Unicode/ANSI,两者不一致。
无论哪一种都是由于Excel与CSV文件的编码不一致,因此才出现文章开头的情况。
了解了原理,那么如何解决乱码问题呢?
以上可知,乱码是由于两方编码不对称。
而此操作只涉及到原文件和Excel两方的编码。
因此,解决方向也是两个:要么修改原文件编码,要么修改excel编码。
- 方法一:修改原文件的编码
将原文件的编码修改为ANSI,这样与Excel默认保持一致,使用Excel打开时可以正常显示
第一步,使用记事本打开csv原文件
第二步,进行文件另存的操作
名字无需改动,而是要改动编码类型,由原来的”UTF-8″改为”ANSI”,与excel默认编码保持一致。
现在试一试用Excel打开此文件,乱码就不见了,数据正常显示(O(∩_∩)O~~)
第一步,选择导入文件
第二步,选择文件后,单击确认进入文本导入向导
找到”文件原始格式”,默认为”简体中文”,但在前面我们查看过原文件编码为”UTF-8″,因此在这里设置成”UTF-8″。
这波操作可以理解成在手动告诉Excel不要用默认编码,而是应该用原文件的编码。
第三步,设置分隔符
通常CSV文件的分隔符有两种:逗号或者空格。
因为之前在使用记事本查看时,已经观察到使用的是逗号分隔,所以在这里直接勾选逗号即可。
第三步,完成以上两步,点击完成,基本上就大功告成了。
此时只要告诉excel要将原文件导入的起始单元格位置就可以开始导入了。如果需要搭建模型,记得把下面的”添加到模型”也勾选上。
表哥TIPS:
用Python导入CSV文件时,同样不会出现乱码,而且导入速度很快(千行毫秒)。
代码贴在下面,感兴趣的朋友可以自行试一试。
以上就是目前解决乱码显示,常使用的两个方法,你学会了吗?
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/85137.html