python讀取和儲存dict()與.json格式檔案
阿新 • • 發佈:2018-12-24
這篇是不是用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)