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
显示正常
成功!