Есть задача, побить большой json на отдельные файлы более меньшего размера, для удобочитаемости.
import json import os from collections import OrderedDict with open('chaining.json') as tdata: tevents = json.load(tdata) id_event = 1 for event in tevents: if id_event == 2: print('id not equal 1') break path = '{0}_{1}'.format(id_event, event) os.mkdir(path) event_name = '{0}.json'.format(path) path_json = os.path.join(path, event_name) with open(path_json, 'w') as tjson: tevent ={event: tevents[event]} json.dump(tevent, tjson, indent=4, sort_keys=True) id_event += 1
К примеру есть у меня json:
{
“A”: {
“key1”: “value1”,
“key2”: “value2”
},
“B”: {
“key1”: “value1”,
},
“C”: {
“key1”: “value1”
}
}
На выходе я получаю 3 json'а:
1ый json:
{
“key2”: “ value2,”
“key1”: “value1”
}
2ый json:
{
“key1”: “value1,”
}
3ий json:
{
“key1”: “value1”
}
То есть в итоге получается что в jsonгде больше одного ключа они перемешиваются рандомно, а мне нужно как-то сделать так чтобы они не перемешивались.
Смотрел в сторону collections.OrderedDict, но воспользоваться им нормально ума так и не хватило
Заранее благодарен за любую помощь!