這是我的 JSON 檔案中的示例:
"person1": {
"name": "Henry",
"email": "none",
"friends_amt": {
"male": 0,
"female": 0
}
我將如何更改男性的密鑰(即 0)并在 python 中使用“ =”添加一個?我想要一個更新男性或女性密鑰的命令。我不想將 0 更改為 1,但我想將“ =”更改為 0,以便我可以再次更新它。請幫忙,我正在做一個專案,謝謝
我嘗試使用:
with open("people.json", "w") as f:
data = json.load(f)
data["person1"]["friends_amt", "male"] = 1
但它顯然失敗了,我預計這是因為我的 json 知識很低,我做了一個瘋狂的猜測
uj5u.com熱心網友回復:
你想用data["person1"]["friends_amt"]["male"]逗號代替:)
由于 ['friends_amt'] 本身就是一個字典,因此您將使用對 ['person1'] 和 ['friends_amt'] 所做的選擇器
希望這可以幫助!
uj5u.com熱心網友回復:
要更改 json 中的鍵值,您需要加載 json 檔案(將其轉換為 python dict)更改 dict 中的值,然后將其重新寫入檔案:
import json
with open("myfile.json", "r") as jsonFile:
data = json.load(jsonFile)
data["person1"]["friends_amt"]["male"] = 1
with open("myfile.json", "w") as jsonFile:
json.dump(data, jsonFile)
請注意,我使用的是我使用data["person1"]["friends_amt"]["male"]的而不是您使用的,因為您使用的是嵌套的 json 結構。所以你首先需要進入第一個鍵,使用data["person1"]它回傳 2 個鍵,值是字串,1 里面有另一個 json 結構(friend_amt)。所以要訪問其中的資料,我們需要像使用 person1 一樣進入它,所以data["person1"]["friend_amt"]["male"]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/456022.html
上一篇:如果鍵與輸入匹配,則列印鍵和值?
