excel打開csv 出現亂碼


現在做輿情分析的相關項目,在數據處理的時候,發現了一個問題。將數據寫入到csv文件,用excel打開(默認)就會出現亂碼,如果將數據寫入到.xlsx文件就不會出現亂碼,因為csv是通用格式,所以我猜想是excel的問題,在網上baidu了一下,發現果然是這樣。

 

https://jingyan.baidu.com/article/ac6a9a5e4c681b2b653eacf1.html

 CSV是逗號分隔值的英文縮寫,通常都是純文本文件。CSV格式是分隔的數據格式,有字段/列分隔的逗號字符和記錄/行分隔換行符。通常CSV文件可以用EXCEL正常打開,但是許多人都有這樣的經歷,使用EXCEL打開后,原本應該出現中文地方都變成亂碼了。這種情況怎么解決呢?如下圖:

 

    出現這種情況怎么解決呢?我們首先來分析一下此種情況的內在原因。在簡體中文環境下,EXCEL打開的CSV文件默認是ANSI編碼,如果CSV文件的編碼方式為utf-8、Unicode等編碼可能就會出現文件亂碼的情況。

    分析了原因后,一些人已經知道怎么解決了,但為方便初學者,這里還是用圖文並茂的方式講解一下解決步驟:

  1. 使用記事本打開CSV文件

  2. 點擊菜單:文件-另存為,編碼方式選擇ANSI

  3. 保存完畢后,再用EXCEL打開這個文件就不會出現亂碼的情況。

 

http://www.gaohaipeng.com/2251.html

解決Excel打開UTF-8編碼CSV文件亂碼的問題

前段時間用某軟件導出了一個CSV文件,需要在Excel中處理並打印,但是我直接用Excel打開這個CSV文件卻發現,文件中的所有中文字符都變成了亂碼,經過自己的嘗試,采用數據導入的方法解決了問題,后來又搜了一下,發現還有其他方法,數據導入只是其中一種而已。現在整理總結一下:

方法1、數據導入

打開 Excel,執行“數據”->“自文本”,選擇 CSV 文件,出現文本導入向導,選擇“分隔符號”,下一步,勾選“逗號”,去掉“ Tab 鍵”,下一步,完成,在“導入數據”對話框里,直接點確定。

導入之后,所有漢字顯示正常,亂碼問題解決。

方法2、先另存再打開

使用記事本打開CSV文件,“文件”->“另存為”,編碼方式選擇ANSI,保存完畢后,用EXCEL打開這個文件就不會出現亂碼的情況。

問題產生的原因

為什么excel打開utf-8存儲方式的文件會出現亂碼呢?因為excel打開文件時默認使用unicode的編碼方式(還有的網友說是默認以ANSI編碼方式打開,待考)。在Unicode基本多文種平面定義的字符(無論是拉丁字母、漢字或其他文字或符號),一律使用2字節儲存。恰恰utf-8是1字節的存儲方式,所以excel直接打開時會出現亂碼。

http://blog.csdn.net/yjpsunshine/article/details/50953577

 

產生背景

今天在用excel打開一個腳本生成的csv文件(存儲編碼格式為utf-8)時出現了亂碼情況,但是用WPS直接打開卻正常顯示。因為文件是要交給客戶的,office又是普遍使用的一枚辦公軟件,總不能讓客戶去安裝一個WPS吧。網上一番查閱后,眾說紛紜,因此特此記錄下自己所踩過的坑:

解決方案

  • 用記事本打開csv文件,另存為Unicode格式
  • 之后用excel打開CSV文件,注意此時該文件的編碼已是Unicode
  • 若出現每一行所有字段在一個單元格的情況,解決步驟接着看下面
  • 重新打開excel,執行”數據”->”自文本”->選擇csv文件->”導入”->出現文本導入導向對話框->”下一步”->取消Tab鍵,選中逗號作為分隔符號->”確定”
  • 待轉換成功,則會在excel中正常顯示

原因分析

Excel默認打開文件的編碼格式是Unicode,所以當文件里面同時含有中文、韓文、西歐字符等等的時候,此時若文件為非Unicode格式,由於編碼格式不一致,將會出現亂碼問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM