美文网首页
列表 + 字典 + 向json文件追加数据

列表 + 字典 + 向json文件追加数据

作者: 一克拉的汗水 | 来源:发表于2018-11-04 01:34 被阅读0次

在关于图像的深度学习中,我们有图像和对应的标签。通常我们将图像名字和对应的标签写在json文件中,通过字典的方式进行编码。我们可以看一个例子:

[{"disease_class": 1, "image_id": "1.jpg"},

{"disease_class": 2, "image_id": "2.jpg"},

{"disease_class": 3, "image_id": "3.jpg"}]

注意到这个最外边是一个方括号,也就是说整个文件是一个列表的格式。

列表由很多的很多字典组成,每一个字典都包含两个键值对,一个是图片的标签,也就是groundtruth,这里就是disease_class,另一个就是图像的名字,这里就是image_id。

这样写是有好处的,我这里就不说是什么好处的。

本文首先给出如何读取这样的一个json文件:

```

    with open(validate_path, 'r') as load_f:

        load_dict = json.load(load_f)

        num_image = len(load_dict)

        for image in range(num_image):

            index = load_dict[image]["disease_class"]

            path = load_dict[image]['image_id']

            image_data = cv_imread(path)

```

主要用到了一个python库中函数:json 的json.load函数。然后采用列表的方式读取每一个图像的序列号,再进一步依据字典的键值对方式来索引具体的键值。

那么怎样才能创建这样的josn文件呢(从这个例子可以看书,并不是所有的json文件都是一样的,josn文件有它自己的组合方式,看官可以查看其它人的博客就知道,但愿你看完这篇文章之后能够找到你想要的json文件格式的制作)

上面说到,首先是列表,列表中是一个个的字典。

直接先上代码:

```

image_aug = [] # 先创建一个列表

image_path = 'AgriculturalDisease_trainingset'

root = os.getcwd()

path = os.path.join(root, 'new_train', 'new_train_labels.json')

# print(path)

with open(path, 'r') as f:

    load_dict = json.load(f)

    num_images = len(load_dict)

    for image in range(num_images):

        index = load_dict[image]["disease_class"]

        path = load_dict[image]["image_id"]

        image_dict = {"disease_class":index, "image_id":path}

        image_aug.append(image_dict) # 依据列表的append对文件进行追加

with open('new.json', 'w', encoding='utf-8') as file:

    json.dump(image_aug, file, ensure_ascii=False)

    # 最后根据json的dump将上面的列表写入文件,得到最终的json文件

```

总结为以下三步:

1)先创建一个列表

2)依据列表的append对文件进行追加

3)最后根据json的dump将上面的列表写入文件,得到最终的json文件

写到这里大家应该是比较理解怎么对json文件进行追加的吧。

实际上是利用列表进行追加。

相关文章

  • 列表 + 字典 + 向json文件追加数据

    在关于图像的深度学习中,我们有图像和对应的标签。通常我们将图像名字和对应的标签写在json文件中,通过字典的方式进...

  • csv文件的生成

    列表导出为csv文件 字典导出为csv文件 json导出为csv文件

  • Python实现字典 dict 和 json 相互转化

    字典 dict 和 json 如何相互转化, 将字典数据转 json 格式写入文件,然后从文件中读取出来还原为字典...

  • json格式说明

    json是前后端数据交互一种格式,它可以是字典,也可以是列表,也可以是字典和列表相互嵌套. json格式中字符串必...

  • python写入json文件

    想要多条相同key的数据添加json中,先将数据存入到字典中,再append到列表中。最后存入json中。 这样子...

  • model模型创建(模型里面套模型)

    在做公司项目的时候, 数据是解析的json文件, json文件包括所有的数据(不同的列表数据和点进去的详情数据)。...

  • iOS使用KVC+Mirror实现字典和模型相互转换

    GitHub地址 一、字典转模型 创建Test.json文件,将这个文件添加到工程中。为这个json文件加入数据:...

  • python读写json文件

    将字典保存为本地json文件 从本地json文件读取数据 NOTE : 这里的dump()方法和load方法()没...

  • Docker数据管理一(数据卷 volume)

    一、创建一个数据卷 查看镜像 创建 创建文件并追加内容 退出,查看本地的系统文件: 查看文件: 向文件追加内容: ...

  • json

    json串必须是由列表[list] 和 字典{dict},两种数据结构组成的json 中的非数字数据,必须由双引号...

网友评论

      本文标题:列表 + 字典 + 向json文件追加数据

      本文链接:https://www.haomeiwen.com/subject/ptzlxqtx.html