проблемы с вложенными ключами sqlitedict

#json #sqlite #dictionary #python-3.6

Вопрос:

Я пытаюсь создать вложенный sqlitedict (потому что «обычный» дикт действительно слишком медленный) для хранения результатов около 1000 файлов json

файл json находится в этой форме :

 "AACACTTCCTCACACGG": {
    "AnchoredIrrCount": 1,
    "IrrPairCount": 0,
    "RegionsWithIrrAnchors": {
        "chr9:134391648-134391649": 1
    },
    "RepeatUnit": "AACACTTCCTCACACGG"
 

Я попытался проанализировать файл json и заполнить дикт циклом, но это не работает. Моя идея состояла в том, чтобы создать вложенный диктант в этой форме :

 dict[motif][chromosome][position] = list(person1, person3, person450 ...)
 

каждый человек-это файл json.
Я попробовал это :

 def create_intervalle(pos, chromosome, key, all_pos_dict):
    intervalle = str(int(pos)-50) "-" str(int(pos) 50)
    all_pos_dict[key][chromosome] = {intervalle : list()}
    return (intervalle, all_pos_dict)

def test_key(pos, chromosome, key, all_pos_dict):
 if key in all_pos_dict:
    if chromosome in all_pos_dict[key]:
        intervals = [tuple(map(int, i.split('-'))) for i in all_pos_dict[key][chromosome]]
        intervalle = [tup for tup in intervals if tup[0] <= pos <= tup[1]]
        if intervalle:
            return(intervalle, all_pos_dict)
        else:
            return(create_intervalle(pos, chromosome, key, all_pos_dict))
    else:
        all_pos_dict[key] = {chromosome : dict()}
        test_key(pos,key, chromosome, all_pos_dict)
else:
    all_pos_dict[key]=dict()
    test_key(pos, key, chromosome, all_pos_dict)


(intervalle, all_pos_dict) = test_key(begin, chromosome, key, all_pos_dict)
#if i understood well, .append is not working with sqlitedict ? 
all_pos_dict[key][chromosome][intervalle] = person
 

если у вас есть какие-либо идеи или какие-либо другие решения, которые помогут сохранить этот большой объем данных? большое спасибо за вашу помощь !
Морской