我一直在尝试使用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不是一个元素。我知道它不是一个元素,但我不知道如何修复它,将两个表放在Master文件表下。我很感激任何帮助。
这是我的代码:
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])
答案 0 :(得分:1)
将表插入另一个表是没有意义的吗?
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不正确,你不能在这里使用语法(键,值):
"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}}}
}
}
但这很奇怪。