1. 程式人生 > 實用技巧 >Python生成的csv檔案開啟是亂碼解決辦法

Python生成的csv檔案開啟是亂碼解決辦法

本文轉自:https://www.cnblogs.com/onelikeone/p/7751506.html

excel開啟csv 出現亂碼怎麼解決

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中正常顯示