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