Python 3:获取json并将其拆分为较小的json

时间:2018-06-27 04:04:18

标签: python json python-3.x file split

所以我有一个带有json的文件,如下所示:

{
      "a":{
             "ab":2,
             "cd":3
      },
      "b":{
             "ef":2,
             "gh":3
      },
      "c":{
             "ij":2,
             "kl":3
      }

}

因此,在python中,我想从文件中导入此json,然后从中将其分解为单独的json,每个json都包含一个单独的变量,这样每个变量将类似于:

json1 = {
             "a":{
                    "ab":2,
                    "cd":3
             }
        }
##etc.

这些json变量应充当可以通过json.loadjson.dump之类的方法转换为json对象的变量。

这怎么办?

1 个答案:

答案 0 :(得分:0)

使用json.load导入文件后,您所拥有的只是一个普通的Python字典:

with open('bigfile.json') as f:
    bigd = json.load('bigfile.json')

如果您遍历items()来求词,则得到的是键值对。

for key, value in bigd.items():

然后将键值对转换为单项字典很简单。

    smalld = {key: value}

这时您又有了一个字典,因此可以json.dump

    with open(f'smallfile-{key}.json', 'w') as f:
        json.dump(f, smalld)        

或者您想对它们进行任何其他处理。例如,将每个append的{​​{1}}转换为smalld,或将其listodicts转换为ASCII格式并将其发送到repr或其他任何形式。