gpt4 book ai didi

python - 在 For 循环中增量追加到 JSON 文件

转载 作者:行者123 更新时间:2023-11-30 22:42:48 25 4
gpt4 key购买 nike

有没有办法在 python 的 for 循环中将单个 JSON 对象附加到 json 文件。我不希望将所有数据存储在一个巨大的 json 对象中并一次性转储,因为我计划执行数百万个 API 请求。我想发出一个 API 请求,将结果转储到 JSON 文件中,然后移至下一个 API 请求并将其转储到相同 JSON 文件中。

下面的代码覆盖 JSON 文件,我正在寻找附加的内容。

for url in urls:
r = sesh.get(url)
data = r.json()

with open('data.json', 'w') as outfile:
json.dump(data, outfile)

这样:

with open('data.json') as outfile:
data = json.load(data, outfile)

type(data)
>> dict

r.json 看起来像这样:

{'attribute1':1, 'attribute2':10}

最佳答案

更新

因为我无权访问您的 API,所以我只是按照您提供的格式在数组中放置了一些示例响应。

import json

urls = ['{"attribute1":1, "attribute2":10}', '{"attribute1":67, "attribute2":32}', '{"attribute1":37, "attribute2":12}'];
json_arr = []

for url in urls:
data = json.loads(url)
json_arr.append(data)
with open('data.json', 'w') as outfile:
json.dump(json_arr, outfile)

基本上,我们保留一个数组并将每个 API 响应附加到该数组。然后,我们可以将累积的 JSON 写入文件。此外,如果您想在代码的不同执行中更新相同的 JSON 文件,您可以在代码的开头将现有的输出文件读入数组,然后继续我的示例。

<小时/><小时/>将写入模式更改为追加

尝试更改此设置:

with open('data.json', 'w') as outfile:

对此:

with open('data.json', 'a') as outfile:

关于python - 在 For 循环中增量追加到 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41987596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com