python 讀寫中文json的實(shí)例詳解
讀寫中文json
想要 讀寫中文json ,可以使用python中的 json 庫(kù)可以對(duì)json進(jìn)行操作。讀入數(shù)據(jù)可以使用 json.load。
f = file(path)data = json.load(f)
json被載入到一個(gè)dict類型的object對(duì)象中。
使用 json.dump可以輸出json。不過輸出的文本并不是中文,而是轉(zhuǎn)換為 utf-8的格式。此處需要:
output = json.dump(jsonData,targetFile,ensure_ascii=False,indent=4)
輸出中文的json。通過使用 ensure_ascii=False,輸出原有的語(yǔ)言文字。indent參數(shù)是縮進(jìn)數(shù)量。
更改寫文件格式
將上一步導(dǎo)出的 string 直接寫文件會(huì)報(bào)錯(cuò)(可能只在Python2.7中出現(xiàn)):
UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-9: ordinal not in range(128)
這是由于此處輸出的一些ascii編碼不支持,所以報(bào)錯(cuò)。
解決的辦法是,在輸出的時(shí)候,對(duì)文件制定特定的UTF-8編碼:
import codecs with codecs.open(path,'w','utf-8') as w: #write to w
使用這種方式可以成功輸出到文件。
如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
|
新聞熱點(diǎn)
疑難解答
圖片精選