Python 合并两个TinyDB数据库

Python 合并两个TinyDB数据库,python,json,python-3.x,file,tinydb,Python,Json,Python 3.x,File,Tinydb,在Python上,我尝试合并从TinyDB获得的多个JSON文件 我无法找到直接合并两个tinydb JSON文件的方法,这两个文件的密钥是按顺序自动生成的,不会随着下一个文件的打开而重新启动 换句话说,我希望合并大量数据,如下所示: hello1={"1":"bye",2:"good"....,"20000":"goodbye"} hello2={"1":"dog",2:"cat"....,"15000":"monkey"} 作为: 由于使用TinyDB找到正确方法的问题

在Python上,我尝试合并从TinyDB获得的多个JSON文件

我无法找到直接合并两个tinydb JSON文件的方法,这两个文件的密钥是按顺序自动生成的,不会随着下一个文件的打开而重新启动

换句话说,我希望合并大量数据,如下所示:

 hello1={"1":"bye",2:"good"....,"20000":"goodbye"}    

    hello2={"1":"dog",2:"cat"....,"15000":"monkey"}
作为:

由于使用TinyDB找到正确方法的问题,我打开并转换了经典语法json文件,加载每个文件,然后执行以下操作:

Data = Data['_default']
我遇到的问题是,目前代码可以正常工作,但它有严重的内存问题。几秒钟后,创建的合并数据库包含28Mb的数据,但是(可能)缓存饱和,它开始以非常缓慢的方式添加所有其他数据

因此,我需要在一定数量的数据之后清空缓存,或者我可能需要改变这样做的方式

这就是我使用的代码:

Try1.purge()
Try1 = TinyDB('FullDB.json')

with open('FirstDataBase.json') as Part1 :
     Datapart1 = json.load(Part1)
     Datapart1 = Datapart1['_default']

     for dets in range(1, len(Datapart1)):

         Try1.insert(Datapart1[str(dets)])


with open('SecondDatabase.json') as Part2:
     Datapart2 = json.load(Part2)
     Datapart2 = Datapart2['_default']

     for dets in range(1, len(Datapart2)):

         Try1.insert(Datapart2[str(dets)])
问题:合并两个TinyDB数据库。。。也许我需要改变做这件事的方式



为什么不使用TinyDB?

您非常关心性能,需要高速数据库。

在数据库中插入单行总是很慢,请尝试
DB。插入多行(…

第二个选项。使用
generator
。提供了抑制内存占用的选项

# From list
Try1.insert_multiple([{"1":"bye",2:"good"....,"20000":"goodbye"}])

# From list
Try1.insert_multiple([{"1":"bye",2:"good"....,"20000":"goodbye"}])
# From generator function
Try1.insert_multiple(generator())