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 相关文章推荐
在Python中操作时间之tzset()方法的使用教程
May 22 Python
python实现用于测试网站访问速率的方法
May 26 Python
Python中字符串的格式化方法小结
May 03 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
Jun 30 Python
python ddt实现数据驱动
Mar 14 Python
对Python3.x版本print函数左右对齐详解
Dec 22 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 Python
pycharm无法导入本地模块的解决方式
Feb 12 Python
python numpy库linspace相同间隔采样的实现
Feb 25 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
Jan 29 Python
如何理解及使用Python闭包
Jun 01 Python
Python实现GIF动图以及视频卡通化详解
Dec 06 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代码
2018/06/13 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
一个关于jqGrid使用的小例子(行按钮)
2011/11/04 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
2015/10/22 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
js实现一个简易计算器
2020/03/30 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
[55:48]VGJ.S vs TNC Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python+django实现文件下载
2016/01/17 Python
Python中查看文件名和文件路径
2017/03/31 Python
Python 私有函数的实例详解
2017/09/11 Python
python实现简单http服务器功能
2018/09/17 Python
python http基本验证方法
2018/12/26 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
浅析Django中关于session的使用
2019/12/30 Python
关于Python解包知识点总结
2020/05/05 Python
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
外语系毕业生找工作的求职信
2013/11/28 职场文书
生产现场工艺工程师岗位职责
2013/11/28 职场文书
初中化学教学反思
2014/01/23 职场文书
早会主持词
2014/03/17 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
个人典型事迹材料
2014/12/30 职场文书
被告答辩状范文
2015/05/22 职场文书
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
为什么MySQL 删除表数据 磁盘空间还一直被占用
2021/10/16 MySQL