最近網友抱怨,收到别人發來的數據表,打開後長這樣:
CSV再EXCEL中顯示為亂碼
除了數字,其他是啥玩意兒
完全亂碼。。。
(亂碼!亂馬!亂嗎?亂!)
但是當使用記事本打開,檢查确認是否文件有問題時,顯示完全正常,根本沒有亂碼。
CSV在記事本中顯示正常
用最最普通記事本打開文件能夠正常顯示,用Excel打開卻顯示不正常。。。
這是怎麼回事?(亂馬也在想...)
難道沒安裝好需要卸載重裝?(走投無路的招數,然并卵)
No~No~No
實際上是由于文件編碼與Excel編碼不一緻造成。
查看csv文件的編碼:
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中識别原文件的編碼
這波操作可以理解成在手動告訴Excel不要用默認編碼,而是應該用原文件的編碼。
第三步,設置分隔符
通常CSV文件的分隔符有兩種:逗号或者空格。
設置分隔符
因為之前在使用記事本查看時,已經觀察到使用的是逗号分隔,所以在這裡直接勾選逗号即可。
第三步,完成以上兩步,點擊完成,基本上就大功告成了。
此時隻要告訴excel要将原文件導入的起始單元格位置就可以開始導入了。如果需要搭建模型,記得把下面的”添加到模型”也勾選上。
表哥TIPS:
用Python導入CSV文件時,同樣不會出現亂碼,而且導入速度很快(千行毫秒)。
代碼貼在下面,感興趣的朋友可以自行試一試。
Python的方法導入csv文件
以上就是目前解決亂碼顯示,常使用的兩個方法,你學會了嗎?
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!