操作流程
df.to_csv('out.csv', encoding="utf-8")
执行完之后,提示 UnicodeDecodeError: ‘utf-8’ codec can’t decode byte *** invalid start byte
错误原因
有些字符不是ASCII码,因此不能用utf-8
进行编码
修改方法
df.to_csv('out.csv', sep='\t', encoding='utf-8')
一般情况下可以加上index=False来去除行号
df.to_csv('out.csv', sep='\t', encoding='utf-8'), index=False
还有一种可能需要以UTF_8 with BOM编码(微软产品能正确识别UTF_8 with BOM存储的中文文件)存储
data.to_csv('out.csv',encoding='utf_8_sig'), index=False
参考
- https://stackoverflow.com/questions/16923281/writing-a-pandas-dataframe-to-csv-file
- https://stackoverflow.com/questions/41228697/pandas-to-csv-ascii-cant-encode-character