0

我在理解我的代码哪里出错时遇到了一些问题。我一直在尝试将我的代码输出打印到一个 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]}])
4

1 回答 1

0

总有一张_default桌子,在这里描述

类似的操作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

[编辑]

您可以按照此处所述设置自己的默认表

于 2017-06-08T13:01:25.980 回答