【问题标题】:How can I separate a .json file by keys stored in a different .json file?如何通过存储在不同 .json 文件中的键来分隔 .json 文件?
【发布时间】:2021-04-13 15:27:47
【问题描述】:

我有两个文件,一个包含这种类型的数据:

{"v_uqiMw7tQ1Cc": {"duration": 55.15, "timestamps": [[0.28, 55.15], [13.79, 54.32]]}, "v_bXdq2zI1Ms0": {"duration": 73.1, "timestamps": [[0, 10.23], [10.6, 39.84], [38.01, 73.1]]}
    

另一个文件包含拆分ID:

{train_set:{"v_uqiMw7tQ1Cc","v_uqiMfergQ1Cc"}, test_set:{"v_bXdq2zI1Ms0", "v_bXdfreht2Ms0"}}

如何更改第一个文件以使其具有它所属的子集?:

{"v_uqiMw7tQ1Cc": {"duration": 55.15, subset: "train", "timestamps": [[0.28, 55.15], [13.79, 54.32]]}, "v_bXdq2zI1Ms0": {"duration": 73.1, subset: "test", "timestamps": [[0, 10.23], [10.6, 39.84], [38.01, 73.1]]}

【问题讨论】:

    标签: python json annotations


    【解决方案1】:

    试试下面的代码,我想这就是你要找的

    import json
    
    with open('json_file/json_set1.json') as f1:
        file1 = json.load(f1)
    with open('json_file/json_set2.json') as f2:
        file2 = json.load(f2)
    
    print(file1) 
    

    {'v_uqiMw7tQ1Cc': {'duration': 55.15, 'timestamps': [[0.28, 55.15], [13.79, 54.32]]}, 'v_bXdq2zI1Ms0': {'duration': 73.1, 'timestamps': [[0, 10.23], [10.6, 39.84], [38.01, 73.1]]}}

    print(file2)
    

    {'train_set': ['v_uqiMw7tQ1Cc', 'v_uqiMfergQ1Cc'], 'test_set': ['v_bXdq2zI1Ms0', 'v_bXdfreht2Ms0']}

    for key1, val2 in file1.items():
        for key2, val2 in file2.items():
            if key1 in file2[key2]:
                file1[key1].update({'subset': key2})
    
    print(file1)
    

    {'v_uqiMw7tQ1Cc': {'duration': 55.15, 'timestamps': [[0.28, 55.15], [13.79, 54.32]], '子集': 'train_set'},

    'v_bXdq2zI1Ms0':{'持续时间': 73.1, '时间戳': [[0, 10.23], [10.6, 39.84], [38.01, 73.1]], '子集': 'test_set'}}

    【讨论】:

      猜你喜欢
      • 2021-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      • 2018-11-03
      相关资源
      最近更新 更多