gpt4 book ai didi

python - 用python编写后加载和读取JSON文件非常慢

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

我正在尝试读取 JSON 文件,确定“文本”字段中有多少个单词,将该信息添加为新字段“长度”,并将新的 JSON 对象写入文件。我已经使用以下代码完成了此操作:

import json

with open("file_read.json", "r") as review_file, open(
"file_write.json", "w") as review_write:
for line in review_file:
review_object = json.loads(line)
review_object["length"] = len(review_object["text"].split())
json.dump(review_object, review_write)

原文件超过200mb,但用Vim可以正常查看;然而,我写的文件只有 3mb 大,如果加载的话,需要很长时间才能加载。此外,即使我只读取第一个 JSON 对象,也存在问题。写入文件后我尝试了以下操作:

with open("file_write", "r") as review_file:
print review_file.readline()
print("abcd123")

我在 python 模式下使用 Vim,当我使用 JSON 信息遍历第一个打印语句时,它非常不稳定,但第二个语句则不然。

最佳答案

按照您编写文件的方式,您将只有一大行。

# example
json.dump([1,2,3], fp)
json.dump({"name": "abc"}, fp)
json.dump(33, fp)
# content of file
# [1, 2, 3]{"name": "abc"}33

这可以解释为什么它的阅读速度如此之慢:它必须一次性加载约 200mb 的文本。另外将其加载为 json 可能会失败。

要解决这个问题,您可以使用:

fp.write(json.dumps(review_object) + "\n")

关于python - 用python编写后加载和读取JSON文件非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16968198/

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