Python3 写入csv文件出现中文乱码

Python3 写入csv文件出现中文乱码

今天用Python3写入csv文件的时候,出现中文乱码的问题,但是写入txt文件显示正常。

问题复现

写入txt

record_file = open('./database/GitHubDaily_weibo.txt', mode='a', encoding='utf-8')
record_file.write('发布时间,终端,内容\n')
  • 1
  • 2

显示正常,编码为 UTF-8
在这里插入图片描述

写入csv

record_file = open('./database/GitHubDaily_weibo.csv', mode='a', encoding='utf-8')
record_file.write('发布时间,终端,内容\n')
  • 1
  • 2

显示乱码

在这里插入图片描述

解决方案

只需要将encoding='utf-8' 改为 encoding='utf-8-sig'

写入txt

record_file = open('./database/GitHubDaily_weibo.txt', mode='a', encoding='utf-8-sig')
record_file.write('发布时间,终端,内容\n')
  • 1
  • 2

显示正常,编码为 UTF-8-BOM

在这里插入图片描述
写入csv

record_file = open('./database/GitHubDaily_weibo.csv', mode='a', encoding='utf-8-sig')
record_file.write('发布时间,终端,内容\n')
  • 1
  • 2

显示正常

在这里插入图片描述

成功!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章