每次迭代后删除JSON对象

2024-04-27 00:00:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个很大的json文件(6GB),它包含简单的键和值对,比如

 { "0546585b451000" : "5",
   "0546585b451000111222" : "10"
 }

我使用ijson来解析这个文件,并对每个对象执行一些操作

我想在迭代完成后从json文件本身中删除每个对象。你知道吗

with open(SOURCE_JSON_FILE, 'r') as fd:
     parser = ijson.parse(fd)
     for prefix, event, value in parser:
         if event == 'number':
            print('prefix={}, event={}, value={}'.format(prefix, event, value))

         ## Delete this row from json file now  

我的意图是最小化实际json文件的大小,以便在进程中断的情况下,可以继续使用剩余的键。你知道吗

实现这一目标的方法应该是什么?除了将完成的对象转储到另一个文件或数据库之外。你知道吗

感谢您的帮助


Tags: 文件对象eventjsonparsersourceprefixvalue