python | pandas 读csv数据报错: 0x8b 解决方案

时间:2021-09-05 06:40:18

用pandas 读取csv数据报错了,报错内容如下:

读取的代码:

import pandas as pd
#载入数据:
train = pd.read_csv('Train.csv')

主要错误是:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x8b in position 2: invalid start byte

全部显示信息

pandas\parser.pyx in pandas.parser.TextReader.read (pandas\parser.c:10415)()

pandas\parser.pyx in pandas.parser.TextReader._read_low_memory (pandas\parser.c:10691)()

pandas\parser.pyx in pandas.parser.TextReader._read_rows (pandas\parser.c:11728)()

pandas\parser.pyx in pandas.parser.TextReader._convert_column_data (pandas\parser.c:13162)()

pandas\parser.pyx in pandas.parser.TextReader._convert_tokens (pandas\parser.c:14116)()

pandas\parser.pyx in pandas.parser.TextReader._convert_with_dtype (pandas\parser.c:16172)()

pandas\parser.pyx in pandas.parser.TextReader._string_convert (pandas\parser.c:16400)()

pandas\parser.pyx in pandas.parser._string_box_utf8 (pandas\parser.c:22072)()

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 2: invalid start byte

采用了utf-8的编码形式也出错,最后找到方案,用ISO-8859-1来编码

#载入数据:
test = pd.read_csv('Test.csv',encoding = "ISO-8859-1")

数据如下,出现类似错误的同学可以尝试下。
链接:http://pan.baidu.com/s/1eRO4wGq 密码:do08