0

我需要关于我的 json 文件输出的帮助。我正在尝试打印出名为密钥对的列表中的密钥。我必须生成 60 个密钥,这些密钥已包含在我的代码的 (count<60) 部分中(此处不存在)。我只是显示我有问题的代码的导出部分。这是我的代码:

with open("/home/pi/Desktop/database.json", 'w+'):
    db = TinyDB('/home/pi/Desktop/database.json')
    table = db.table('Books')
    db.insert({'Book ID' : keypair[bookid], 'Serial No.' : keypair[bookserial] })

但是,我现在遇到的问题是它打印出列表中的所有键 - bookid 和 bookserial,而不是在一个 {} 中打印一对键。

这是一个示例输出,其中 count<2:

Pillar": {}, "_default":
 {"1":
   {"Bookid": ["b'\\XXXXXX bookid 1 XXXXXXX'", "b'\\AAAAAA bookid 2 AAAAAAA'"], 
    "Serial No.": ["b'\\YYYYYserialno 1YYYYY'", "b'BBBBserial no2BBBB'"]
   }
 }

这是我打算得到的输出:

以这样的格式,每次再次运行时都会打印一对密钥:

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

如您所见,json 文件很乱,我不知道如何使其自动整洁,而且您可以看到键一起打印出来而不是单独打印出来。想象一下,必须打印 60 对,它们都在一个 {} 之下。

帮助!

4

1 回答 1

0

当您尝试创建 json 时,我在您的代码中看到多个语法问题。你可以尝试这样做。

{ Books:
  {
      {
        Book ID: XXXXXXXX
        Serial No.: XXXXXXX
      },
      {
        Book ID: XXXXXXX
        Serial No.: XXXXXX
       }
  }
 }

正如您所看到的,我也将书籍物品包裹在括号中,并且这些物品现在用逗号分隔。

这可以帮助您解决问题。

于 2017-06-06T08:27:54.360 回答