python解析多层json操作示例


Posted in Python onDecember 30, 2019

本文实例讲述了python解析多层json操作。分享给大家供大家参考,具体如下:

原始文件内容:

{
  "MaskPolygonItem": {
    "0": {
      "BoundingBox": "354.105 221.957 379.764 96.2241",
      "label": "Number",
      "labelNum": 0,
      "polygon": "3,6"
    }
  },
  "channels": 3,
  "height": 1080,
  "width": 1920
}

修改并保存代码

#coding=utf-8 
import os
import json
#获取目标文件夹的路径
filedir = r'J:\NumberData\mrcnnHik\test'
#获取文件夹中的文件名称列表 
filenames=os.listdir(filedir)
#遍历文件名
for filename in filenames:
  filepath = filedir+'/'+filename
  # print(filepath)
  after = []
  # 打开文件取出数据并修改,然后存入变量
  with open(filepath, 'r') as f:
    data = json.load(f)
    mask=data["MaskPolygonItem"]
    for zidian in mask:
      print(type(zidian))
      mask[zidian]["polygon"] = '354 221,355 310,729 318,733 236'
    after = data
  # 打开文件并覆盖写入修改后内容
  with open(filepath, 'w') as f:
    #结构化输出
    data = json.dump(after, f,sort_keys=True, indent=4, separators=(',', ': '))

修改之后内容(仅修改了polygon)

{
  "MaskPolygonItem": {
    "0": {
      "BoundingBox": "354.105 221.957 379.764 96.2241",
      "label": "Number",
      "labelNum": 0,
      "polygon": "354 221,355 310,729 318,733 236"
    }
  },
  "channels": 3,
  "height": 1080,
  "width": 1920
}
Python 相关文章推荐
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
Dec 04 Python
Python实现配置文件备份的方法
Jul 30 Python
python下载图片实现方法(超简单)
Jul 21 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
Feb 23 Python
Python基于socket模块实现UDP通信功能示例
Apr 10 Python
Python3实现购物车功能
Apr 18 Python
对Python闭包与延迟绑定的方法详解
Jan 07 Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 Python
python中bs4.BeautifulSoup的基本用法
Jul 27 Python
如何在mac环境中用python处理protobuf
Dec 25 Python
Django url 路由匹配过程详解
Jan 22 Python
Python中三种花式打印的示例详解
Mar 19 Python
pytorch 求网络模型参数实例
Dec 30 #Python
利用python3 的pygame模块实现塔防游戏
Dec 30 #Python
pytorch 批次遍历数据集打印数据的例子
Dec 30 #Python
python多线程使用方法实例详解
Dec 30 #Python
Python动态声明变量赋值代码实例
Dec 30 #Python
使用pytorch实现可视化中间层的结果
Dec 30 #Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 #Python
You might like
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
php简单统计在线人数的方法
2016/05/10 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
Laravel + Elasticsearch 实现中文搜索的方法
2020/02/02 PHP
JS 面向对象的5钟写法
2009/07/31 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
node.js中express中间件body-parser的介绍与用法详解
2017/05/23 Javascript
快速处理vue渲染前的显示问题
2018/03/05 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
vue项目中使用Svg的方法
2018/10/24 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
Python实现比较两个文件夹中代码变化的方法
2015/07/10 Python
Windows下python2.7.8安装图文教程
2016/05/26 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
django foreignkey(外键)的实现
2019/07/29 Python
python xlwt如何设置单元格的自定义背景颜色
2019/09/03 Python
Django实现auth模块下的登录注册与注销功能
2019/10/10 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
Python模块的定义,模块的导入,__name__用法实例分析
2020/01/07 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
学校安全生产承诺书
2014/05/23 职场文书
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
2021/05/29 MySQL
Python中22个万用公式的小结
2021/07/21 Python
 Redis 串行生成顺序编码的方法实现
2022/04/03 Redis
virtualenv隔离Python环境的问题解析
2022/06/21 Python