Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用TinyDB将多个表插入到一个表中?_Python_Json_Python 3.x_Tinydb - Fatal编程技术网

Python 如何使用TinyDB将多个表插入到一个表中?

Python 如何使用TinyDB将多个表插入到一个表中?,python,json,python-3.x,tinydb,Python,Json,Python 3.x,Tinydb,我一直在尝试使用TinyDB在一个表中创建多个表。这里有一个网站可以帮助您了解TinyDb是什么()。PDF文件没有显示如何将多个表插入到一个表中,将多个数据插入到一个表中 我希望json文件如下所示: "MASTER TABLE": { {"TABLE 1": {"1": {"Name": "Alice", "Age": 19}} {"TABLE 2": {"1": {"Name": "John", "Age": 12}}, } 但是,问题是我不确定如何将表1和表2插

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

我希望json文件如下所示:

"MASTER TABLE": 
{
     {"TABLE 1": {"1": {"Name": "Alice", "Age": 19}}
     {"TABLE 2": {"1": {"Name": "John", "Age": 12}}, 
}
但是,问题是我不确定如何将表1和表2插入主文件表。所以它给了我一个错误,表1不是一个元素。我知道它不是一个元素,但我不知道如何修复它,将两个表放在主文件表下。我非常感谢你的帮助

这是我的密码:

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}}
}
{
  "MASTER TABLE": {
      "1": {"TABLE 1": {"1": {"Name": "Alice", "Age": 19}}}, 
      "2": {"TABLE 2": {"1": {"Name": "John", "Age": 12}}}
  }
}
我认为您的JSON不正确,您无法在此处输入语法(键、值):

你可以这样做:

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

{
   "_default": {}, 
   "TABLE 1": {"1": {"Name": "Alice", "Age": 19}}, 
   "TABLE 2": {"1": {"Name": "john", "Age": 12}}
}
{
  "MASTER TABLE": {
      "1": {"TABLE 1": {"1": {"Name": "Alice", "Age": 19}}}, 
      "2": {"TABLE 2": {"1": {"Name": "John", "Age": 12}}}
  }
}
但这很奇怪