python向json中追加數(shù)據(jù)的兩種方法總結(jié)
前言
json以其輕量級(jí)的數(shù)據(jù)交換格式,且易于閱讀和編寫(xiě)而使用率很廣泛,而使用json的過(guò)程中時(shí)而需要增加字段,本人驗(yàn)證兩種方式之后將其集成梳理。
具體操作詳情如下:
1. list dump (不推薦)
采用list方式,向json中添加字段。此法存在一定的問(wèn)題,不推薦使用。
方法如下:
(1)先創(chuàng)建一個(gè)列表;
json_content = []
(2)將當(dāng)前json文件中已有的內(nèi)容讀入列表中;
with open(fjson, 'r') as f: content = json.load(f) # 讀取所有字段 version = content["version"] flags = content["flags"] shapes = content["shapes"] imageData = content["imageData"] imagePath = content["imagePath"] imageHeight = content["imageHeight"] imageWidth = content["imageWidth"] item_dict = { "version": version, "flags": flags, "shapes": shapes, "imageData": imageData, "imagePath": imagePath, "imageHeight": imageHeight, "imageWidth": imageWidth } json_content.append(item_dict) # 將讀取的內(nèi)容append到list中
(3)將新增的內(nèi)容以字典形式添加至列表中;
axis = {"axis":[22,10,33]} json_content.append(axis)
(4)使用json.dump()將該列表寫(xiě)回原文件;
with open(fjson, 'w') as f_new: json.dump(content, f_new)
問(wèn)題:此方法采用dump list的方式追加內(nèi)容,但是問(wèn)題在于此法將json的dict對(duì)象轉(zhuǎn)換成了list對(duì)象,會(huì)導(dǎo)致修改json格式,故而不推薦。
2. json update (推薦使用)
使用dict自帶函數(shù)update,將字典dict對(duì)應(yīng)的key/value更新到另一個(gè)dict中。
此法簡(jiǎn)單快捷,直接更新dict,而不需要將原始文件的key/value全部讀取出來(lái)。
(1)讀取原始json文件(與方式1相同)
with open(fjson, 'r') as f: content = json.load(f)
(2)更新字典dict
axis = {"axis":[22, 10, 11]} content.update(axis)
(3)寫(xiě)入
with open(fjson, 'w') as f_new: json.dump(content, f_new)
很簡(jiǎn)單,三步搞定,簡(jiǎn)單方便快捷。
總結(jié)
到此這篇關(guān)于python向json中追加數(shù)據(jù)的兩種方法的文章就介紹到這了,更多相關(guān)python向json追加數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python靜態(tài)網(wǎng)頁(yè)爬取獲取高清壁紙
這篇文章主要介紹了Python爬取高清壁紙,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Python實(shí)現(xiàn)搶購(gòu)IPhone手機(jī)
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)搶購(gòu)IPhone手機(jī),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02在Django中管理Users和Permissions以及Groups的方法
這篇文章主要介紹了在Django中管理Users和Permissions以及Groups的方法,Django是最具人氣的Python web開(kāi)發(fā)框架,需要的朋友可以參考下2015-07-07發(fā)工資啦!教你用Python實(shí)現(xiàn)郵箱自動(dòng)群發(fā)工資條
這篇文章主要介紹了發(fā)工資啦!教你用Python實(shí)現(xiàn)郵箱自動(dòng)群發(fā)工資條,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05使用wxpy實(shí)現(xiàn)自動(dòng)發(fā)送微信消息功能
這篇文章主要介紹了使用wxpy實(shí)現(xiàn)自動(dòng)發(fā)送微信消息功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02python基于pexpect庫(kù)自動(dòng)獲取日志信息
這篇文章主要介紹了python基于pexpect庫(kù)自動(dòng)獲取日志信息的方法,幫助大家更好的利用python高效辦公,感興趣的朋友可以了解下2021-02-02python實(shí)現(xiàn)k均值算法示例(k均值聚類(lèi)算法)
這篇文章主要介紹了python實(shí)現(xiàn)k均值算法示例,簡(jiǎn)單實(shí)現(xiàn)平面的點(diǎn)K均值分析,使用歐幾里得距離,并用pylab展示,需要的朋友可以參考下2014-03-03