返回信息流问题是这样的:instance_train2014.json文件,大概300M,文件中一共只有5段:
{
"info": info,
"licenses": [license],
"images": [image],
"annotations": [annotation],
"categories": [category]
}
现在要对"annotations"进行处理,"annotations"中的内容是这样的:
"annotations": [{"segmentation": [[312.29, 562.89, 402.25, 232.61, 560.32, 300.72, 571.89]],
"area": 54652.9556,
"iscrowd": 0,
"image_id": 480023,
"bbox": [116.95, 305.86, 285.3, 266.03],
"category_id": 58,
"id": 86}, #这个id表示annotation的id,因为每一个图像有不止一个annotation,所以要对每一个annotation编号
{"segmentation": [[252.46, 208.17, 267.96, 210.11, 208.45]],
"area": 421.47274999999996,
"iscrowd": 0,
"image_id": 50518,
"bbox": [245.54, 208.17, 40.14, 19.1],
"category_id": 58,
"id": 89}, ..........]
"category_id"的范围为1~80,现在需要保留特定category_id的内容,如保留[1,2,3,4],其余的全部删除。
"annotations"中的item数目为:604907
问题:怎么删除不需要的呢?
这是一条镜像帖。来源:北邮人论坛 / python / #21119同步于 2018/3/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
python处理JSON文件的一个问题,可有偿
Acheron
2018/3/7镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
在文件里修改,那必须写回到文件中呀!如果不想重新全写,判断一下,删除对应的行?
【 在 Acheron (起床oO) 的大作中提到: 】
: 问题是这样的:instance_train2014.json文件,大概300M,文件中一共只有5段:
: {
: "info": info,
: ...................
直接进行遍历呗,把最后的结果写到新的文件里。300M的文件并不大,604907个数据处理顶多是运行的时候花一点时间罢了。
ps. 如果你懒得写,我可以有偿代写2333
嗯,最后重新生成的文件是48.2M,运行时也没花太多时间,23333
【 在 fuxuemingzhu (意涵团·负雪明烛 http://fuxuemingzhu.me) 的大作中提到: 】
: 直接进行遍历呗,把最后的结果写到新的文件里。300M的文件并不大,604907个数据处理顶多是运行的时候花一点时间罢了。
: ps. 如果你懒得写,我可以有偿代写2333
就是想知道还有没有别的方法,哈哈哈
【 在 jh1 (邯是郸身|土豆|鱼欲遇雨|儿时吹过的牛逼) 的大作中提到: 】
: 在文件里修改,那必须写回到文件中呀!如果不想重新全写,判断一下,删除对应的行?