假设要加载的数据存放在路径'./data/data.csv'中。
datadir='./data/data.csv'
1.用pandas执行pd.read_csv读入csv文件时遇到编码错误问题
data = pd.read_csv(datadir,index_col=False)
问题:UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 10: invalid start byte
解决方案:
step 1: 执行pd.read_csv时,添加参数engine='python'.
data = pd.read_csv(datadir,index_col=False,engine='python')
如果问题没有解决,继续step2.
step 2: 执行pd.read_csv时,指明编码方式.
data = pd.read_csv(datadir,index_col=False,encoding = 'ISO-8859-1')
还可以尝试其他的编码方式
encoding='latin1'
encoding='utf-8'
如果问题没有解决,继续step 3:
step 3: 执行下面的语句,找出文件的编码方式
import chardet
with open(datadir, 'rb') as f:
result = chardet.detect(f.read())
print(result['encoding'