解决Python调用df.to_csv()出现中文乱码的问题
更新时间:2024年09月18日 12:12:33 作者:必须掂水
在Python使用df.to_csv()时,若出现中文乱码,可通过加入参数encoding="utf_8_sig"解决,"utf-8"编码不包含BOM,直接处理文件时会将BOM误读为内容;而"utf_8_sig"会识别并处理BOM,避免乱码,此方法为实践经验,供参考
Python调用df.to_csv()出现中文乱码
df = pd.DataFrame(data=total_info, columns=[‘公司全名', ‘公司简称', ‘公司规模', ‘融资阶段', ‘区域', ‘职位名称', ‘工作经验', ‘学历要求', ‘薪资', ‘职位福利', ‘经营范围', ‘职位类型', ‘公司福利', ‘第二职位类型', ‘城市']) df.to_csv(‘C:/Users/Shinelon/Desktop/Python_development_engineer.csv', index=False)
结果出现乱码:

解决方案
加上**encoding=“utf_8_sig”**就好了。
df.to_csv(‘C:/Users/Shinelon/Desktop/Python_development_engineer.csv', encoding=“utf_8_sig”)

注意注意
‘utf-8’ 和 ‘utf_8_sig’ 的区别:
- ”utf-8“ 是以字节为编码单元,它的字节顺序在所有系统中都是一样的,没有字节序问题,因此它不需要BOM,所以当用"utf-8"编码方式读取带有BOM的文件时,它会把BOM当做是文件内容来处理。
- “uft-8-sig"中sig( signature )是"带有签名的utf-8”, 所以"utf-8-sig"读取带有BOM的"utf-8文件时"会把BOM单独处理,与文本内容隔离开。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
python中protobuf和json互相转换应用处理方法
protobuf目前有proto2和proto3两个版本,本文所介绍的是基于proto3,在Python 3.6.9环境下运行,本文记录一下python中protobuf和json的相互转换的处理方法,感兴趣的朋友跟随小编一起看看吧2022-12-12
详解Python中@staticmethod和@classmethod区别及使用示例代码
这篇文章主要介绍了详解Python中@staticmethod和@classmethod区别及使用示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-12-12
Anaconda下配置python+opencv+contribx的实例讲解
今天小编就为大家分享一篇Anaconda下配置python+opencv+contribx的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-08-08


最新评论