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

 更新时间:2022年05月10日 09:41:52   作者:Steven灬  
这篇文章主要介绍了快速解决编码问题:UnicodeDecodeError: 'utf-8' codec can't decod,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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 pd
content = 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

这里我将编码问题 utf-8 改为 gbk,还是报错。。。。报错如下:

UnicodeDecodeError: 'gbk' codec can't decode byte 0xa2 in position 93: illegal multibyte sequence

最后当我把程序改为:

import pandas as pd
content = pd.read_csv('news.csv',encoding='gb18030')
print(content.head())

即读取成功: 

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

python的编码声明

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

常见的编码声明:

# coding=utf-8
# coding:utf-8
# -*-coding=utf-8-*-
# -*-coding:utf-8-*-

注意:

①coding后面使用:或=都可以。

②:或=与coding之间不能有空格,而:或=与编码之间有没有空格均可。

③编码声明一般放在python文件开头(第一行或第二行)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python应用案例之利用opencv实现图像匹配

    Python应用案例之利用opencv实现图像匹配

    OpenCV 是一个的跨平台计算机视觉库,可以运行在 Linux、Windows 和 Mac OS 操作系统上,这篇文章主要给大家介绍了关于Python应用案例之利用opencv实现图像匹配的相关资料,需要的朋友可以参考下
    2024-08-08
  • OpenCV实现相机标定

    OpenCV实现相机标定

    这篇文章主要为大家详细介绍了OpenCV实现相机标定,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • Python实现Mysql数据统计及numpy统计函数

    Python实现Mysql数据统计及numpy统计函数

    这篇文章主要介绍了Python实现Mysql数据统计的实例代码,给大家介绍了Python数据分析numpy统计函数的相关知识,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • TensorFlow如何指定GPU训练模型

    TensorFlow如何指定GPU训练模型

    这篇文章主要介绍了TensorFlow如何指定GPU训练模型,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法

    安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始

    这篇文章主要介绍了安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法,需要的朋友可以参考下
    2020-08-08
  • Python加密word文档详解

    Python加密word文档详解

    这篇文章主要介绍了Python实现对word文档添加密码去除密码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Python实现的随机森林算法与简单总结

    Python实现的随机森林算法与简单总结

    这篇文章主要介绍了Python实现的随机森林算法,结合实例形式详细分析了随机森林算法的概念、原理、实现技巧与相关注意事项,需要的朋友可以参考下
    2018-01-01
  • 在Python中处理字符串之isdecimal()方法的使用

    在Python中处理字符串之isdecimal()方法的使用

    这篇文章主要介绍了在Python中处理字符串之isdecimal()方法的使用,是Python入门学习的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python的argparse库使用详解

    Python的argparse库使用详解

    argparse是python标准库里面用来处理命令行参数的库,这篇文章主要介绍了Python的argparse库使用详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 使用PyCharm进行远程开发和调试的实现

    使用PyCharm进行远程开发和调试的实现

    这篇文章主要介绍了使用PyCharm进行远程开发和调试的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11

最新评论