gpt4 book ai didi

python - 在 ijson 中解析 json 文件时出现内存问题

转载 作者:太空狗 更新时间:2023-10-30 02:57:13 28 4
gpt4 key购买 nike

本教程https://www.dataquest.io/blog/python-json-tutorial/他们有一个 600MB 的文件,但是当我运行他们的代码时

import ijson

filename = "md_traffic.json"
with open(filename, 'r') as f:
objects = ijson.items(f, 'meta.view.columns.item')
columns = list(objects)

我等待文件读入 ijson 的时间超过 10 分钟,我真的很困惑这应该如何合理。不应该有解析吗?我错过了什么吗?

最佳答案

主要问题不是您在解析后创建了一个 list(仅将各个结果收集到一个结构中),而是您使用的是 ijson 提供的默认纯 python 后端.

可以使用其他速度更快的后端。在 ijson's homepage它解释了如何导入它们。 yajl2_cffi 后端是目前最快的后端,但我创建了一个性能更好的新 yajl2_c 后端(有一个 pull request 待接受)。

在我的笔记本电脑(Intel(R) Core(TM) i7-5600U)中使用 yajl2_cffi 后端,您的代码运行时间约为 1.5 分钟。使用 yajl2_c 后端,它在 ~10.5 秒(python 3)和 ~15 秒(python 2.7.12)内运行。

编辑:@lex-scarisbrick 当然也是对的,如果您只对列名感兴趣,您可以快速跳出循环。

关于python - 在 ijson 中解析 json 文件时出现内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37898065/

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