python向json中追加数据的两种方法总结

 更新时间:2022年05月10日 09:04:05   作者:秃头才能变得更强  
JSON用来存储和交换文本信息,比xml更小/更快/更易解析,下面这篇文章主要给大家介绍了关于python向json中追加数据的两种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

前言

json以其轻量级的数据交换格式,且易于阅读和编写而使用率很广泛,而使用json的过程中时而需要增加字段,本人验证两种方式之后将其集成梳理。

具体操作详情如下:

1. list dump (不推荐)

采用list方式,向json中添加字段。此法存在一定的问题,不推荐使用。

方法如下:

(1)先创建一个列表;

json_content = []

(2)将当前json文件中已有的内容读入列表中;

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) # 将读取的内容append到list中

(3)将新增的内容以字典形式添加至列表中;

axis = {"axis":[22,10,33]}
json_content.append(axis)

(4)使用json.dump()将该列表写回原文件;

with open(fjson, 'w') as f_new:
    json.dump(content, f_new)

问题:此方法采用dump list的方式追加内容,但是问题在于此法将json的dict对象转换成了list对象,会导致修改json格式,故而不推荐。

2. json update (推荐使用)

使用dict自带函数update,将字典dict对应的key/value更新到另一个dict中。

此法简单快捷,直接更新dict,而不需要将原始文件的key/value全部读取出来。

(1)读取原始json文件(与方式1相同)

with open(fjson, 'r') as f:
    content = json.load(f)

(2)更新字典dict

axis = {"axis":[22, 10, 11]}
content.update(axis)

(3)写入

with open(fjson, 'w') as f_new:
    json.dump(content, f_new)

很简单,三步搞定,简单方便快捷。

总结

到此这篇关于python向json中追加数据的两种方法的文章就介绍到这了,更多相关python向json追加数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实战教程之OCR文字识别方法汇总

    python实战教程之OCR文字识别方法汇总

    ocr是一种光学字符识别技术,简单来说它能够识别出图像中的文字并且将其给取出来,下面这篇文章主要给大家介绍了关于python实战教程之OCR文字识别方法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 详解通过API管理或定制开发ECS实例

    详解通过API管理或定制开发ECS实例

    在本文里我们给大家整理了关于通过API管理或定制开发ECS的相关实例内容,有需要的朋友们参考学习下。
    2018-09-09
  • pandas Dataframe行列读取的实例

    pandas Dataframe行列读取的实例

    今天小编就为大家分享一篇pandas Dataframe行列读取的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python3.8中使用f-strings调试

    Python3.8中使用f-strings调试

    这篇文章主要介绍了Python3.8中使用f-strings调试的相关知识,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • Python2和Python3中@abstractmethod使用方法

    Python2和Python3中@abstractmethod使用方法

    这篇文章主要介绍了Python2和Python3中@abstractmethod使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • python matplotlib库绘图实战之绘制散点图

    python matplotlib库绘图实战之绘制散点图

    Python有着强大的绘图库 matplotlib,该库集成了大量的绘制函数,可以满足我们平时绝大多数的绘图要求,这篇文章主要给大家介绍了关于python matplotlib库绘图实战之绘制散点图的相关资料,需要的朋友可以参考下
    2022-07-07
  • django解决跨域请求的问题

    django解决跨域请求的问题

    这篇文章主要介绍了django解决跨域请求的问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Python使用SQLite和Excel操作进行数据分析

    Python使用SQLite和Excel操作进行数据分析

    这篇文章主要介绍了Python使用SQLite和Excel操作进行数据分析,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • pandas把dataframe转成Series,改变列中值的类型方法

    pandas把dataframe转成Series,改变列中值的类型方法

    下面小编就为大家分享一篇pandas把dataframe转成Series,改变列中值的类型方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python调用工具包实现发送邮件服务

    Python调用工具包实现发送邮件服务

    这篇文章主要为大家详细介绍了Python图画调用工具包实现发送邮件服务的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-05-05

最新评论