您好,登錄后才能下訂單哦!
這篇文章給大家介紹使用Python怎么對(duì)json文件進(jìn)行讀寫(xiě),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
首先說(shuō)讀json文件
在進(jìn)行json操作之前,首先要了解json的格式,分辨json文件。
json文件格式一般有兩種:
第一種:每行一個(gè)json類(lèi)似于以下這種形式:
["name":"Tony","age":"21","hobbies" : ["basketball","tennis"]] ["name":"Lisa","age":"20","hobbies" : ["sing","dance"]]
這種json格式是每一行是一個(gè)json,行與行之間沒(méi)有關(guān)聯(lián)。
第二種:一個(gè)文件寫(xiě)成一個(gè)大的json
[ {"name":"Tony","age":"21","hobbies" : ["basketball","tennis"]}, {"name":"Lisa","age":"20","hobbies" : ["sing","dance"]} ]
這種格式每條記錄之間用,連接。
下面讀取json文件,利用json.load
函數(shù)
f = open('/home/codergray/company/test_2.json') #將json格式的數(shù)據(jù)映射成list的形式 t = json.load(f)
所以t是一個(gè)list,按照正常訪問(wèn)list的方法訪問(wèn)就可以。
str = t[0]['name'] print str
輸出:
Tony
以上面的例子為例,訪問(wèn)t[0]也就是第一條json記錄[‘name']代表name字段,因而就讀出了值“Tony”
寫(xiě)json文件
寫(xiě)json一般是上文提到的json格式的第二種格式,也就是整體是一個(gè)大的json。
舉個(gè)例子:
f = open('result.json','w') result = [] temp = {} temp['name'] = 'Tony' temp['age'] = '21' tamp['hobbies'] = ['basketball','tennis'] result.append(temp) f.write(json.dumps(result,ensure_ascii=False))
通過(guò)以上代碼就將一個(gè)json寫(xiě)進(jìn)了result.json文件,當(dāng)然這個(gè)大json里面只有一條記錄,如果想插入多條記錄可以利用循環(huán)。json.dumps
方法可以看作是json.load
的逆過(guò)程,將list的數(shù)據(jù)格式轉(zhuǎn)化為json存在json文件中。
關(guān)于使用Python怎么對(duì)json文件進(jìn)行讀寫(xiě)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。