Skip to main content
 首页 » 编程设计

Python导出多个数据到一个json文件

2025年05月04日59yxwkf

我正在用 python 编写地址簿,我正在尝试将数据(姓名、城镇和地址)保存到 json 文件中。

问题是当它保存到json文件时,它在json文件中创建了一个新对象

例子-

   {"Object1": {"Town": "town", "Address": "address"}} 
   {"Object2": {"Town": "town", "Address": "address"}} 

由于该布局,每当我尝试对其进行任何操作时都会出现此错误

错误-

    ValueError: Extra data: line 2 column 1 - line 2 column 55 (char 55 - 109)  

我怎样才能使我的 json 文件布局像这样

例子-

    {"Object1": {"Town": "town", "Address": "address", "Object2": {"Town": "town", "Address": "address"}} 

这是我的代码-

import json 
 
class Object: 
    name = "Name" 
    address = "Address" 
    town = "Town" 
 
    def return_info(self): 
        dictionary = {self.name: {"Address": self.address, "Town": self.town}} 
        return dictionary 
 
    def __init__(self, entered_name, entered_town, entered_address): 
        self.name = entered_name 
        self.town = entered_town 
        self.address = entered_address 
 
def update(file): 
    with open("data.json", "a") as outfile: 
        json.dump(file, outfile) 
 
new_object = Object("name", "town", "address") 
update(new_object.return_info()) 

请您参考如下方法:

您可以将所有地址保存在一个字典中,然后转储到一个 json 文件中。

addressmap = { 
    "Object1": {"town": "town", "address": "address"}, 
    "Object2": {"town": "town", "address": "address"} 
} 
 
with open("addresses.json", "w") as f: 
    json.dump(addressmap, f, indent=4)