Python使用ijson 解析超大json 文件

时间:2020-09-15 17:03:59   收藏:0   阅读:433

背景

使用json 模块解析json需要单次全部载入所有内容,在文件过大时已经不能处理。所以想是否有流式解析json的库可用
稍微搜索了一下找到了ijson

安装ijson

ijson 官方介绍
如其他python 库一样可直接使用pip 直接安装 pip install ijson
正如文档 Backends 中提及的 ijson 提供了几个版本的解析实现

import ijson.backends.yajl2_cffi as ijson

使用yajl2_cffi 确实会比python 版本快一些 同样的文件 只需要17 分钟

使用

with open(filePath, ‘r‘) as load_f:
      objects = ijson.items(load_f, ‘traceEvents.item‘,use_float=True)
      for v in objects:
            pass

使用 use_float 选项会将非整数以float 形式返回。这也能让解析速度更快一些。

原文:https://www.cnblogs.com/jiyihuizhongxing/p/13673414.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!