如何删除“默认”?

时间:2017-06-08 06:41:45

标签: json python-3.x mapping tinydb

我一直在解决我的代码出错的问题。我一直在尝试将我的代码输出打印到json文件中,但显然,我的列表是空的,因为它打印出这个“默认”的东西。如何更改它以使书籍地图具有书籍ID和序列号。部分进入空{}而不是?我已经做了自己的研究,但不幸的是,我去过的论坛都没有提供答案。

这是我的输出:

{"books": {}, "_default":
  {
   "1": {Book ID: XXXX bookid 1 XXXX},
   "2": {Serial No.: XXX serialno 1 XXXX}
  },
 {
   "1": {Book ID: XXX bookid 2 XXXX},
   "2": {Serial No.: XXX serial no. 2 XXX}
 }
}

以下是我的代码:

with open("/home/pi/Desktop/json/pillar1.json", 'w+'):
        db = TinyDB('/home/pi/Desktop/json/pillar1.json')
        table = db.table('Books')
        db.insert_multiple([{'Book ID' : variable}, {'Serial no' : variable]}])

1 个答案:

答案 0 :(得分:0)

始终有一个_default表,描述为here

db.insert_multiple表格上会发生_default等操作。 您实际上正确显示在文件片段中。

"books"为空

"books": {}

并且inserts已发生在_default

"_default":
  {
   "1": {Book ID: XXXX bookid 1 XXXX},
   "2": {Serial No.: XXX serialno 1 XXXX}
  },
 {
   "1": {Book ID: XXX bookid 2 XXXX},
   "2": {Serial No.: XXX serial no. 2 XXX}
 }

要在表格中插入,您可以执行以下操作:

with open("/home/pi/Desktop/json/pillar1.json", 'w+'):
        db = TinyDB('/home/pi/Desktop/json/pillar1.json')
        table = db.table('books')
        table.insert_multiple([{'Book ID' : variable}, {'Serial no' : variable]}])

请注意table.insert_multiple代替db.insert_multiple

[编辑]

您可以按照here

所述设置自己的默认表格