【问题标题】:How do i remove "default"?如何删除“默认”?
【发布时间】:2017-06-08 06:41:45
【问题描述】:

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

【问题讨论】:

  • 这看起来很像this question,它已经有了答案,所以我建议你继续在那里工作......并且(!!)它看起来也像this question......或者你可以更新这个问题,并声明以前的帖子没有收到任何可行的答案。
  • @EdwinvanMierlo 嗨,感谢您的回复。但信不信由你,它们都是我的帐户。有回复的,根本没有回答qn。而没有的,我试图删除,但它弹出一个提示,如果我删除另一个问题,我可能会被踢出 :')
  • 我注意到你试图用你的更新来编辑我的答案。我拒绝了那个编辑。如果您对我的回答有更新/评论,请使用评论部分。

标签: json python-3.x mapping tinydb


【解决方案1】:

总是有一个_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 的描述设置自己的默认表

【讨论】:

    猜你喜欢
    • 2021-07-10
    • 2017-04-23
    • 2018-09-11
    • 1970-01-01
    • 2018-06-06
    • 2020-07-21
    • 2017-07-29
    • 1970-01-01
    相关资源
    最近更新 更多