透過python輸出的excel或是csv檔,透過excel開啟時中文出現亂碼怎麼辦?

透過Python pandas的to_excel()或是to_csv(),同時以utf-8編碼格式輸出的檔案,在透過Excel軟體開啟時,都顯示亂碼!這時候要怎麼辦?

 

修改文字檔編碼格式

解決的方式就是將該檔案的編碼方式由原本的「UTF-8」改為「BOM檔首的UTF-8」即可

下面我們以notepad++這個文字編輯器為例:

  1. 首先點選「編碼」
  2. 可以看到原本的文字檔編碼方式為「UTF-8」,我們只要點選「UTF-8(BOM檔首)」
  3. 儲存

接著,再重新點選該檔,以excel開啟,就會看到這卻的中文字體囉!

 

從根本下手 – 修改Python的輸出方式

透過以下的輸出編碼方式,產出的csv檔就能以預設「UTF-8 BOM檔首」的方式輸出。Excel開啟後就能顯示正常,省一次手動修改的工。

# 將原本的 encoding='utf-8' 改為如下
df_data.to_csv('xxx.csv', encoding='utf-8-sig')