今天在寫python的時候發現了一個問題,用ElementTree解析XML的時,生成的CSV文件用Excel打開的時候出現了亂碼的情況
但是用Word或者文本打開的時候就是正常的
原因分析:
此種情況一般是導出的文件編碼的問題。在簡體中文環境下,EXCEL打開的CSV文件默認是ANSI編碼,如果CSV文件的編碼方式爲utf-8、Unicode等編碼可能就會出現文件亂碼的情況。
解決方案:
1.寫入文件時使用其他編碼比如GB18030,以上面代碼爲例
csv_file = open('SMP2019_ECISA_Dev.csv', 'w', encoding='GB18030')
2.用命令行修改編碼方式,進入生成的CSV文件所在的文件夾中,然後輸入以下命令
iconv -f UTF8 -t GB18030 源文件.csv >新文件.csv
修改後結果: