使用pandas导入CSV文件出现UnicodeDecodeError错误该如何处理?
问题原因
报错是由于pandas读取CSV时默认使用UTF-8编码解码,但目标文件DSI_kickstarterscrape_dataset.csv的实际编码并非UTF-8。报错信息里提到的无法解码的字节0x92是Windows-1252编码体系里的右单引号字符,这类爬虫导出、Windows平台生成的CSV文件常使用该编码或中文地区常用的GBK/GB2312编码。
解决方案
按优先级从高到低尝试以下方法:
- 方法1:指定编码为Windows-1252(对应编码参数值为
cp1252),绝大多数同类型爬取数据集都可以用该编码正常读取
import pandas as pd stats = pd.read_csv('C:\\Users\\ao322\\Downloads\\DSI_kickstarterscrape_dataset.csv', encoding='cp1252')
- 方法2:如果方法1读取后仍有乱码或报错,依次尝试其他常见编码,替换
encoding参数的值即可,常用备选编码包括gbk、gb2312、utf-8-sig - 方法3:如果仅需要核心数据、可接受少量特殊字符丢失,可添加
errors='ignore'参数强制忽略解码错误
import pandas as pd stats = pd.read_csv('C:\\Users\\ao322\\Downloads\\DSI_kickstarterscrape_dataset.csv', encoding='utf-8', errors='ignore')
内容的提问来源于stack exchange,提问作者Aaron O'Neal
相关产品推荐
相关产品推荐

