使用pd.read_csv读取文件时设置encoding='latin-1'有什么作用?
pd.read_csv 中 encoding='latin-1' 参数功能详解 1. 基础作用
encoding 是 pd.read_csv 方法中用于指定文件字符解码规则的参数。CSV文件本质是二进制存储的文本内容,这个参数会告诉pandas用什么规则把二进制内容转换为可识别的字符串。
2. latin-1 编码的特性
latin-1 也叫ISO-8859-1,是一种单字节编码:
- 覆盖了所有西欧语言的常用字符
- 每个字节都会直接映射到Unicode编码的前256个码位,不存在解码失败的情况,不会抛出常见的
UnicodeDecodeError报错
3. 常见使用场景
- 读取西欧地区生成的旧版CSV文件,这类文件很多默认采用
latin-1编码 - 临时读取未知编码的文件,避免解码报错打断运行,后续再排查实际编码做转码处理
注意:如果文件实际使用utf-8、gbk等其他编码,用
latin-1读取虽然不会报错,但非latin-1范围内的字符会显示为乱码,确认文件原始编码后建议替换为对应编码参数。
内容的提问来源于stack exchange,提问作者Sik Sik
相关产品推荐
相关产品推荐

