Python——報錯 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 52: invalid continuation byte問題解決


這里介紹一個在read_csv()時報錯的原因為:(加工字為位置可以任意)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 0: invalid continuation byte

來吧瞅瞅:

代碼:

df_w = pd.read_table(
    r'C:\Users\lab\Desktop\web_list_n.txt', sep=',', header=None)

當我用pandas的read_table方法讀取本地文件時,爆出這個錯誤:

 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 0: invalid continuation byte

查詢一番,找到了原來這就是Python 編碼中最常見也是最頑固的兩個錯誤:

  UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

  UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 0-1: invalid continuation byte

也就是編碼解碼的問題,我這個錯誤就是‘utf-8’不能解碼位置52的那個字節(0xce),也就是這個字節超出了utf-8的表示范圍了,編碼解碼詳細請參見https://segmentfault.com/a/1190000004625718

解決辦法:

df_w = pd.read_table(
    r'C:\Users\lab\Desktop\web_list_n.txt', encoding='ISO-8859-1', sep=',', header=None)

也就是在讀取數據的時候,顯式添加編碼方式encoding='ISO-8859-1',別的編碼也可以試試喲

但是:這種方法使用后會發現英文的內容顯示正常,但是文件中的中文會亂碼,所以不行

繼續:

使用了這個人的方法:https://blog.csdn.net/kelindame/article/details/75014485

結論不行!

使用了這個人的方法:https://blog.csdn.net/weixin_37029453/article/details/78917066

還是結論不行!

====================解決方法==============================

加上這些帶#號的亂七八糟東西就可以了

#-*- coding : utf-8-*-
# coding:unicode_escape
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
io = r'C:\Users\Hou\Downloads\query-hive-191685.csv'
idk=r'C:\Users\Hou\Downloads\query-hive-191744.csv'
#data=pd.read_csv(io,encoding='unicode_escape')
data=pd.read_csv(io,encoding='gbk')

說真的國內網站,唉

看了這個人的文章試了一下,可以了

https://blog.csdn.net/qq_35892623/article/details/82941473

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM