Python處理JSON時的值報錯及編碼報錯的兩則解決實錄
1、ValueError: Invalid control character at: line 1 column 8363 (char 8362)
使用json.loads(json_data)時,出現(xiàn):
ValueError: Invalid control character at: line 1 column 8363 (char 8362)
出現(xiàn)錯誤的原因是字符串中包含了回車符(\r)或者換行符(\n)
解決方法:
(1)對這些字符轉(zhuǎn)義:
json_data = json_data.replace('\r', '\\r').replace('\n', '\\n')
(2)使用關(guān)鍵字strict:
json.loads(json_data, strict=False)
strict默認是True,它將嚴格控制內(nèi)部字符串,將其設(shè)置為False,便可以允許你\n \r。
2、UnicodeEncodeError: ascii codec can't encode錯誤
在windows下寫的python腳本,放到linux下運行,直接報:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128)
解決方法:
(1)臨時解決方法:
在代碼前加入:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
(2)一勞永逸:
在Python的lib\site-packages文件夾下新建一個sitecustomize.py,內(nèi)容如下:
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
這樣的話,系統(tǒng)在Python啟動的時候,自行調(diào)用該文件,設(shè)置系統(tǒng)的默認編碼。
相關(guān)文章
Python?中的對象析構(gòu)函數(shù)__del__?詳情
這篇文章主要介紹了Python?中的對象析構(gòu)函數(shù)del詳情,Python?中的類的構(gòu)造函數(shù)???__init__???,?每當(dāng)實例產(chǎn)生就會調(diào)用這個構(gòu)造函下面更多相關(guān)內(nèi)容,需要的小伙伴可以參考一下2022-03-03
使用Python的requests庫進行網(wǎng)頁數(shù)據(jù)抓取的詳細教程
網(wǎng)絡(luò)爬蟲是一種自動化程序,用于從互聯(lián)網(wǎng)上抓取數(shù)據(jù),無論是用于數(shù)據(jù)分析、市場研究、學(xué)術(shù)研究,還是搜索引擎的網(wǎng)頁索引,爬蟲技術(shù)都在現(xiàn)代互聯(lián)網(wǎng)應(yīng)用中發(fā)揮著重要作用,本文將通過 requests 庫 來講解如何進行基本的網(wǎng)頁數(shù)據(jù)抓取,需要的朋友可以參考下2025-03-03
python matplotlib實現(xiàn)坐標投影的示例代碼
這篇文章主要為大家詳細介紹了python matplotlib實現(xiàn)坐標投影,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02
Python標準庫之?dāng)?shù)據(jù)庫 sqlite3
這篇文章主要介紹了Python標準庫的數(shù)據(jù)庫 sqlite3的相關(guān)資料,SQLite是一個輕量級、跨平臺的關(guān)系型數(shù)據(jù)庫。它的核心引擎本身不依賴第三方的軟件,使用它也不需要“安裝”。下面文字將對其簡單介紹,需要的小伙伴可以參考下面文章內(nèi)容2021-09-09
Pandas中的unique()和nunique()區(qū)別詳解
Pandas中Series和DataFrame的兩種數(shù)據(jù)類型中都有nunique()和unique()方法,本文詳細的介紹了兩者的區(qū)別,具有一定的參考價值,感興趣的可以了解一下2022-08-08

