我想添加每一个新的json数据,我从这个API,但它更新的文件,而不是追加它怎么办
第一个月
import requests
import json
r=requests.get(url="http://api.open-notify.org/iss-now.json")
a=r.json()
latitude=a["iss_position"]["latitude"]
longitude=a["iss_position"]["longitude"]
timestamp=a["timestamp"]
new_data={
"timestamp": timestamp,
"message": "success",
"iss_position": {
"latitude": latitude,
"longitude": longitude
}
}
with open("./35/test.json",mode="r") as data_file:
load=json.load(data_file)
load.update(new_data)
with open("./35/test.json",mode="w") as data_file:
json.dump(load,data_file,indent=4)
字符串Output
个
我希望这段代码能做到这一点
{
"timestamp": 1690471995,
"message": "success",
"iss_position": {
"latitude": "-40.3966",
"longitude": "172.0519"
}
"timestamp": 1690472149,
"message": "success",
"iss_position": {
"latitude": "-45.6057",
"longitude": "-176.9845"
}
}
型
我的test.json文件,但它并没有追加,而是继续更新旧文件
1条答案
按热度按时间oiopk7p51#
因为你写的是相同的
key
;dict
ionaries不允许多个相同的key
。一种解决方法是让每个数据条目都关联唯一的
key
,例如timestamp
:字符串
这只需要另一个层次的嵌套;每个数据条目现在与特定的
timestamp
相关联。