解决编码问题:UnicodeDecodeError:|解决编码问题:UnicodeDecodeError: 'utf-8' codec can't decod

目录

  • UnicodeDecodeError: 'utf-8' codec can't decod
  • python的编码声明

UnicodeDecodeError: 'utf-8' codec can't decod 有一次报错如下:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb3 in position 0: invalid start byte
编码问题:
f = open(txtPath,'r',encoding='utf-8')

改为:
f = open(txtPath,'r',encoding='gbk')即可

print(f.read())

又有一次读取CSV文件时报错:
import pandas as pdcontent = pd.read_csv('news.csv',encoding='utf-8')print(content.head())

报错如下:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position 0: invalid start byte
解决编码问题:UnicodeDecodeError:|解决编码问题:UnicodeDecodeError: 'utf-8' codec can't decod
文章图片

这里我将编码问题 utf-8 改为 gbk,还是报错。。。。报错如下:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa2 in position 93: illegal multibyte sequence
解决编码问题:UnicodeDecodeError:|解决编码问题:UnicodeDecodeError: 'utf-8' codec can't decod
文章图片

最后当我把程序改为:
import pandas as pdcontent = pd.read_csv('news.csv',encoding='gb18030')print(content.head())

即读取成功:
解决编码问题:UnicodeDecodeError:|解决编码问题:UnicodeDecodeError: 'utf-8' codec can't decod
文章图片

这类问题都是文件编码问题,至于文件到底是什么类型的编码,谁都不知道,只能用最常用的编码格式一个去试一下。这里我将文件编码格式改为gb18030,是偶尔看到有这种格式试出来的。。。。不知道现在有没有软件能够检测文件是什么类型就好了。。

python的编码声明 通常,在python 文件,尤其是包含中文的python文件中,需要说明你的Python源程序文件使用的编码;如果未声明,程序默认使用ascii码来写,此时,书写中文的话python解释器一般会报错。
常见的编码声明:
# coding=utf-8# coding:utf-8# -*-coding=utf-8-*-# -*-coding:utf-8-*-

注意:
①coding后面使用:或=都可以。
②:或=与coding之间不能有空格,而:或=与编码之间有没有空格均可。
③编码声明一般放在python文件开头(第一行或第二行)
【解决编码问题:UnicodeDecodeError:|解决编码问题:UnicodeDecodeError: 'utf-8' codec can't decod】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读