如何解决pandas读取CSV文件时的UnicodeDecodeError(utf-8解码失败)
解决pandas读取CSV时的UnicodeDecodeError问题
可行解决方案
- 指定匹配的编码格式
错误中的0x92字节是Windows-1252(别名cp1252)编码里的特殊单引号,直接指定该编码读取即可:df1 = pd.read_csv("C:/Users/Dell/Desktop/GUVI PROJECTS/placement tasks/DDW_B18_0800_NIC_FINAL_STATE_RAJASTHAN-2011.csv", encoding='cp1252') - 尝试通用兼容编码
如果cp1252无效,可尝试latin-1编码,它能兼容所有字节不会报错,后续可再调整转码:df1 = pd.read_csv("C:/Users/Dell/Desktop/GUVI PROJECTS/placement tasks/DDW_B18_0800_NIC_FINAL_STATE_RAJASTHAN-2011.csv", encoding='latin-1') - 自动检测文件编码
借助chardet库先检测文件真实编码(需先执行pip install chardet安装):import chardet with open("C:/Users/Dell/Desktop/GUVI PROJECTS/placement tasks/DDW_B18_0800_NIC_FINAL_STATE_RAJASTHAN-2011.csv", 'rb') as f: detect_result = chardet.detect(f.read()) df1 = pd.read_csv("C:/Users/Dell/Desktop/GUVI PROJECTS/placement tasks/DDW_B18_0800_NIC_FINAL_STATE_RAJASTHAN-2011.csv", encoding=detect_result['encoding'])
内容的提问来源于stack exchange,提问作者GKK
相关产品推荐
相关产品推荐

