日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

解決編碼問題:UnicodeDecodeError:?'utf-8'?codec?can't?decod_python

作者:Steven灬 ? 更新時間: 2022-07-03 編程語言

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文件開頭(第一行或第二行)

原文鏈接:https://blog.csdn.net/weixin_40547993/article/details/94442001

欄目分類
最近更新