gpt4 book ai didi

python - 我如何使用 TinyDB 将多个表插入到一个表中?

转载 作者:太空宇宙 更新时间:2023-11-04 05:05:27 27 4
gpt4 key购买 nike

我一直在尝试使用 TinyDB 在一个表中创建多个表。这里有一个网站可以帮助您了解什么是 TinyDb ( TinyDB PDF )。 PDF文件没有说明如何将多张表插入一张,一张多条数据插入一张表。

我希望 json 文件看起来像这样:

"MASTER TABLE": 
{
{"TABLE 1": {"1": {"Name": "Alice", "Age": 19}}
{"TABLE 2": {"1": {"Name": "John", "Age": 12}},
}

但是,问题是我不确定如何将 Table1 和 Table2 插入到主文件表中。所以它给了我 table1 不是元素的错误。我知道它不是一个元素,但我不知道如何修复它,将两个表放在主文件表下。如果有任何帮助,我将不胜感激。

这是我的代码:

from tinydb import TinyDB, Query
from tinydb import TinyDB, where
import json

with open("/home/pi/Desktop/jsontest/test.json", 'w+'):
table1 = TinyDB('/home/pi/Desktop/jsontest/test.json')
table1 = table1.table('TABLE 1')
table1.insert_multiple([{'Name' : 'Alice' , 'Age' : 19}])

table2 = TinyDB('/home/pi/Desktop/jsontest/test.json')
table2 = table2.table('TABLE 2')
table2.insert_multiple([{'Name' : 'john' , 'Age' : 12}])

overall = TinyDB('/home/pi/Desktop/jsontest/test.json')
overall = overall.table('MASTER TABLE')
overall.insert([table1])

最佳答案

将表格插入另一个表格没有意义吗?

from tinydb import TinyDB

db = TinyDB('db.json')

table1 = db.table('TABLE 1')
table1.insert({'Name' : 'Alice' , 'Age' : 19})

table2 = db.table('TABLE 2')
table2.insert({'Name' : 'john' , 'Age' : 12})

给出 db.json 包含:

{
"_default": {},
"TABLE 1": {"1": {"Name": "Alice", "Age": 19}},
"TABLE 2": {"1": {"Name": "john", "Age": 12}}
}

我认为您的 JSON 不正确,您不能在此处使用 (key, value) 语法:

"MASTER TABLE": 
{
{"TABLE 1": {"1": {"Name": "Alice", "Age": 19}}
{"TABLE 2": {"1": {"Name": "John", "Age": 12}},
}

你可以这样做:

from tinydb import TinyDB

db = TinyDB('db.json', default_table='MASTER TABLE')

master_table = db.table('MASTER TABLE')
master_table.insert({"TABLE 1": {"1": {"Name": "Alice", "Age": 19}}})
master_table.insert({"TABLE 2": {"1": {"Name": "John", "Age": 12}}})

您获得 db.json 包含:

{
"MASTER TABLE": {
"1": {"TABLE 1": {"1": {"Name": "Alice", "Age": 19}}},
"2": {"TABLE 2": {"1": {"Name": "John", "Age": 12}}}
}
}

但是很奇怪。

关于python - 我如何使用 TinyDB 将多个表插入到一个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44644004/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com