我将一个json文件加载到python中的dictory中,然后枚举json键对象。我有以下代码块:
datelimit = datetime.datetime(2018, 4, 1) # limit date for completed_time
to_remove = []
dateformat = '%Y-%m-%dT%H:%M:%S.%f'
for k, v in item_dict.items(): # enumerate top_level objects
for i, block in enumerate(v['completed']): # enumerate inner blocks
complete_time = datetime.datetime.strptime( # skip last char from complete_time
block["complete_time"][:-1], dateformat)
# print(k, i, complete_time) # uncomment for tests
if complete_time < datelimit: # too old
to_remove.append((k, i)) # store the index for later processing
for k, i in reversed(to_remove): # start from the end to keep consistent indices
del item_dict[k]["completed"][i]
我注意到,对于小的json文件(几个KBs)来说,这似乎工作得很好。但是,如果json文件非常大(~3 MB),则代码不会执行,并在下面的一行中失败,出现错误:
for i, block in enumerate(v['completed']): # enumerate inner blocks
for i, block in enumerate(v['completed']):
KeyError: 'completed'
关于处理更大的json文件有什么建议吗?错误的原因是什么?谢谢
目前没有回答
相关问题 更多 >
编程相关推荐