2017-06-20 1 views
2

私はTinyDBを使用してテーブルに複数のテーブルを作成しようとしています。ここに、TinyDbが(TinyDB PDF)であることを理解するのに役立つウェブサイトがあります。 PDFファイルには、複数のテーブルを1つに、1つの複数のデータを1つのテーブルに挿入する方法が示されていませんでした。TinyDBを使用して複数のテーブルをテーブルに挿入するにはどうすればよいですか?

私はこのように見えるようにJSONファイルを意図:

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

しかし、問題は、私がマスターファイルテーブルに表1と表2を挿入するかどうかはわかりませんということです。だから、table1が要素ではないというエラーが出てきました。私はそれが要素ではないことを知っていますが、私はマスターファイルテーブルの下に2つのテーブルを置くために、それを修正する方法の考えを持っていません。私はどんな助けにも感謝しています。

は、ここに私のコードです:

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

それは別のテーブルにテーブルを挿入しても意味がありませんか?私はあなたがここに構文(キー、値)することはできません、あなたのJSONが間違っていると思う

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

を::

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

あなたが行うことができます

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を与えますその:

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

関連する問題