簡體   English   中英

Python將多個數據導出到json文件

[英]Python exporting multiple data to a json file

我正在使用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)

您想要的對象的示例意味着在Object1Object1 Object2 ,而在我看來,您想要的是對象列表:

import json
dictlist = [{"Object1": {"Town": "town", "Address": "address"}},
            {"Object2": {"Town": "town", "Address": "address"}}]
with open("output.json", "w") as outfile:
  json.dump(dictlist, outfile)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM