python编码问题导致报错该怎么办,如何解决
Admin 2022-09-08 群英技术资讯 1236 次浏览
在这篇文章中,我们来学习一下“python编码问题导致报错该怎么办,如何解决”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。有一次报错如下:
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源程序文件使用的编码;如果未声明,程序默认使用ascii码来写,此时,书写中文的话python解释器一般会报错。
常见的编码声明:
# coding=utf-8 # coding:utf-8 # -*-coding=utf-8-*- # -*-coding:utf-8-*-
注意:
①coding后面使用:或=都可以。
②:或=与coding之间不能有空格,而:或=与编码之间有没有空格均可。
③编码声明一般放在python文件开头(第一行或第二行)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Python数据分析之 Pandas Dataframe合并和去重操作,文章基于python的相关资料展开详细的内容介绍,需要的小伙伴可以参考一下
这篇文章主要介绍了python使用redis模块来跟redis实现交互,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
Python提供了两个级别的访问网络服务。 在低级别,可以访问底层操作系统中的基本套接字支持,这允许您实现面向连接和无连接协议的客户端和服务器。
本文主要给大家介绍的是如何解决python中文乱码的问题。一些朋友会使用json.dumps(var,ensure_ascii=False)来解决python中文乱码,但是这不能完全解决。下文小编就给大家分享一些解决python中文乱码的办法。
默认作用域前段时间学了下Lua,发现Lua的默认作用域和Python是相反的。Lua定义变量时默认变量的作用域是全局(global,这样说不是很准确,L
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008