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

显示正常

在这里插入图片描述

成功!

猜你喜欢

转载自blog.csdn.net/mid_Faker/article/details/107048058