.json格式转为.yml格式

.json格式转为.yml格式

在跑ssd-6d代码时,出现了一个严重的问题,代码中用到的数据集里的文件都是.yml文件(eg:camera.yml)但是在下载的数据集(teijani)中也没有相应的.yml文件,数据及里提供的都是.json文件,我还下载了其他的数据集(linemod)去看是不是我自己下载的问题,结果发现也没有.yml文件,我去直接百度也没有找到相应的.yml文件,所以只能自己手动转。

百度了几个怎么把 .json格式转为.yml格式的方法后,还是最后使用了下面这种方法。将.json文件的内容,以字典的形式通过转换为字符再转换成yaml,输出到指定路径文件即可,程序如下:

import yaml,json


if __name__ =='__main__':   # d中为.json的内容
    d={"0": {"cam_K": [571.9737, 0.0, 319.5, 0.0, 571.0073, 239.5, 0.0, 0.0, 1.0], "depth_scale": 1.0},
  "1": {"cam_K": [571.9737, 0.0, 319.5, 0.0, 571.0073, 239.5, 0.0, 0.0, 1.0], "depth_scale": 1.0},
  "2": {"cam_K": [571.9737, 0.0, 319.5, 0.0, 571.0073, 239.5, 0.0, 0.0, 1.0], "depth_scale": 1.0},
  "3": {"cam_K": [571.9737, 0.0, 319.5, 0.0, 571.0073, 239.5, 0.0, 0.0, 1.0], "depth_scale": 1.0},
  "4": {"cam_K": [571.9737, 0.0, 319.5, 0.0, 571.0073, 239.5, 0.0, 0.0, 1.0], "depth_scale": 1.0},
  "5": {"cam_K": [571.9737, 0.0, 319.5, 0.0, 571.0073, 239.5, 0.0, 0.0, 1.0], "depth_scale": 1.0},
  "6": {"cam_K": [571.9737, 0.0, 319.5, 0.0, 571.0073, 239.5, 0.0, 0.0, 1.0], "depth_scale": 1.0},
  "7": {"cam_K": [571.9737, 0.0, 319.5, 0.0, 571.0073, 239.5, 0.0, 0.0, 1.0], "depth_scale": 1.0},
  "8": {"cam_K": [571.9737, 0.0, 319.5, 0.0, 571.0073, 239.5, 0.0, 0.0, 1.0], "depth_scale": 1.0},
  "9": {"cam_K": [571.9737, 0.0, 319.5, 0.0, 571.0073, 239.5, 0.0, 0.0, 1.0], "depth_scale": 1.0},
  "10": {"cam_K": [571.9737, 0.0, 319.5, 0.0, 571.0073, 239.5, 0.0, 0.0, 1.0], "depth_scale": 1.0}}  
    dstr=json.dumps(d)   # dict转成字符
    dyaml=yaml.load(dstr)   # 将字符转成yaml
    filey = 'C:/Users/shdn/Desktop/01scene_camera.yml'
    stream = open(filey, 'w')
    yaml.safe_dump(dyaml, stream, default_flow_style=False)  #输出到文件中

这样就可以把.json文件转换为.yml文件
在这里插入图片描述
最后,再提供一个YAML、YML在线编辑(校验)器链接,我第一次自己手敲完就是在这里检查对不对的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值