gpt4 book ai didi

python - 如何在 JSON 文件的换行符中写入每个 JSON 对象? (Python)

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:33 27 4
gpt4 key购买 nike

我遇到了一个问题,确实我有一个 JSON 文件,其中每个对象都排成一行。所以,如果有 100 个对象,就会有 100 行。

[{ "attribute1" : "no1", "attribute1": "no2"}
{ "attribute1" : "no12", "attribute1": "no22"}]

我打开这个JSON文件,删除了每个元素的一些属性。

然后,我想以相同的方式将对象写回到文件中(1 个对象 = 1 行)。

我曾尝试使用“缩进”和“分隔符”这样做,但它不起作用。

我想要:

[{ "attribute1": "no2"}
{"attribute1": "no22"}]

感谢阅读。

    with open('verbes_lowercase.json','r+',encoding='utf-8-sig') as json_data:
data=json.load(json_data)
for k in range(len(data)):
del data[k]["attribute1"]
json.dump(data,json_data,ensure_ascii=False , indent='1', separators=(',',':'))
json_data.seek(0)
json_data.truncate()

最佳答案

我用了一个技巧来做我想做的事,将所有对象重写到一个新行中。我将我想保留的内容写入新文件。

with open('verbes_lowercase.json','r',encoding='utf-8-sig') as json_data:
data=json.load(json_data)
with open("verbes.json",'w',encoding="utf-8-sig") as file:
file.write("[")
length=len(data)
for k in range(0,length):
del data[k]["attribute1"]
if (k!=length-1):
file.write(json.dumps(data[k], ensure_ascii=False)+",\n")
else:
file.write(json.dumps(data[length-1], ensure_ascii=False)+"]")

关于python - 如何在 JSON 文件的换行符中写入每个 JSON 对象? (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50676613/

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