1. 程式人生 > >python讀取和儲存dict()與.json格式檔案

python讀取和儲存dict()與.json格式檔案

這篇是不是用markdown格式寫的,顯示程式碼不太友好,csdn又不支援在原文上直接修改編輯格式,因此在markdown格式下重新將此文編輯了一遍,且內容有更新,點選即可 : http://blog.csdn.net/qq_23926575/article/details/76566209

一、讀取.json格式檔案並將資料儲存到字典中:

{"商家名稱": "珍滋味港式粥火鍋(工體店)", "評分": 27.0, "地址": "火鍋工人體育場東路丙2號中國紅街3號樓2層裡", "人均消費": 174, "評論數量": 2307}
{"商家名稱": "井格老灶火鍋(望京新世界店)", "評分": 26.2, "地址": "火鍋望京廣順南大街路16號", "人均消費": 105, "評論數量": 1387}
{"商家名稱": "臉譜港式火鍋(酒仙橋麗都店)", "評分": 24.5, "地址": "火鍋芳園西路6號一層", "人均消費": 218, "評論數量": 39}

當獲取的資料為上述型別,即每個字典之間以回車分割時,可以採用如下方法對資料進行獲取:

# -*- coding: utf-8 -*-
import json
f=open("hg.json","r")
for line in f:
    decodes=json.loads(line)
    print decodes[u"評論數量"] 
f.close()
如果要把資料儲存到dict中,可以使用如下方法:
# -*- coding: utf-8 -*-
import json
f=open("filename.json","r")
data=list()
for line in f:
    data.append(json.loads(line))
    print "%d,%d,%.1f"%(data[i][u"評論數量"],data[i][u"人均消費"],data[i][u"評分"])
print data
f.close()

二、儲存字典資料到.json檔案中
dic={"商家名稱": "井格老灶火鍋(望京新世界店)", "評分": 26.2, "地址": "火鍋望京廣順南大街路16號", "人均消費": 105, "評論數量": 1387}
with open(filename+'.json','a') as outfile:
    json.dump(dic,outfile,ensure_ascii=False)
    outfile.write('\n')

三、在命令列中輸出字典時的亂碼問題

ubuntu下如果在命令列中直接:print dic

如果字典資料中有中文的話,這些中文無法是正常顯示的,可通過下面的方法輸出字典資料:


dic={"北京": [446, 208.7, 110000], "天津": [454.2, 219.8, 120000], "上海": [498.6, 319.7, 310000]}
print json.dumps(dic,ensure_ascii=False,encoding='utf-8')

四、將字串資料轉化為字典資料

user = "{'name' : 'LiHua', 'sex' : 'male', 'age': 18}"
dic1=eval(user)
exec("dic2="+user)