2017-06-20 49 views
2

我一直在嘗試使用TinyDB在表中創建多個表。這裏有一個網站可以幫助你瞭解TinyDb是什麼(TinyDB PDF)。 PDF文件未顯示如何將多個表格插入一個表格,將一個多個數據插入到一個表格中。如何使用TinyDB將多個表插入表中?

我打算JSON文件看起來像這樣:

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

然而,問題是,我不知道如何插入Table 1和表2到主文件表。所以它給了我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]) 

回答

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}}} 
    } 
} 

但是很奇怪。

+0

它已完成....... – glegoux

相關問題