例如:
# -*- coding=utf-8 -*-import json
data =
with open('data.json') as f:
for line in f:
strkey = '中評'
strkey = strkey.decode('utf-8') # python 預設是unicode編碼,不轉碼,則查詢不到key
print data[0].get(strkey)
字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。因為從檔案讀取時,key和都被編碼為utf-8,為了查詢中文的key,需要將預設的unicode編碼轉為utf-8。
參考:
Python 輸出中文報錯問題
第一次使用python,基本都是列印hello word,那麼如果我們列印漢字會怎樣呢?例如 print 你好,世界 那麼我們就會看到程式報錯 for details由於python中預設的編碼格式是 ascii 格式,在沒修改編碼格式時無法正確列印漢字,所以在讀取中文時會報錯。解決方法為只要在檔案...
python 字典key值報錯
報錯 typeerror unhashable type set 或 typeerror unhashable type list 原因 python的字典型別的key不支援set或list,set裡面的物件是hash儲存,如果儲存乙個list物件,而後改變了list物件,那set中剛才儲存的值的h...
解決python2 7中文報錯問題
python預設是不支援中文字元的,但是可以使用 coding utf 8 來指定解碼用的字符集.但這個指定語句寫在什麼位置是很有講究的.看下面 usr bin env python filename coding.py coding utf 8 s 個人資訊 print s 這樣寫就不可以,執行的...