1. 程式人生 > >python3 輸出中文到csv顯示亂碼

python3 輸出中文到csv顯示亂碼

  • 問題描述

想要儲存對新聞頁面的解析結果,安裝資料庫一直沒有成功,所以打算先存入csv檔案試試,就出現了編碼的問題,初始程式碼是

        #儲存解析到的內容
        with open('news_detail.csv','w',newline='',encoding="utf-8") as file:
            fieldnames = ['title','author','publish_time','sub_title','content','commentsNum']
            writer = csv.DictWriter(file,fieldnames = fieldnames)

            writer.writeheader()
            writer.writerow({'title':title,'author':author,'publish_time':time,'sub_title':subtitles,'content':contents,
                             'commentsNum':commentNum})

open方法的newline=' '和encoding = "utf-8"引數都是看了網上的解決方案加上去的,但是都沒有解決問題,輸出到的csv檔案顯示為

  • 仍然是在網上搜索,看到了下面這種引數設定方式,成功解決了亂碼的問題
with open('news_detail.csv','w',newline='',encoding="utf-8-sig") as file:
  • csv檔案中的中文顯示正常,行裡的內容也能和列名對應上了。