Я пытаюсь проанализировать большой (~ 100 МБ) json-файл с помощью пакета ijson, который позволяет мне эффективно взаимодействовать с файлом. Однако, после написания какого-то кода, как это,Использование python ijson для чтения большого json-файла с несколькими объектами json
with open(filename, 'r') as f:
parser = ijson.parse(f)
for prefix, event, value in parser:
if prefix == "name":
print(value)
Я обнаружил, что код разбирает только первую строку, а не остальные строки из файла !!
Вот как часть моего файла JSON выглядит следующим образом:
{"name":"accelerator_pedal_position","value":0,"timestamp":1364323939.012000}
{"name":"engine_speed","value":772,"timestamp":1364323939.027000}
{"name":"vehicle_speed","value":0,"timestamp":1364323939.029000}
{"name":"accelerator_pedal_position","value":0,"timestamp":1364323939.035000}
На мой взгляд, я думаю ijson
разбирает только один объект JSON.
Может кто-нибудь предложить вам, как обойти это?
Возможный дубликат http://stackoverflow.com/questions/10715628/opening-a-large-json-file-in-python – ErikR
Ну, предоставленный вами фрагмент выглядит как _set_ из JSON. То есть вы должны читать строки один за другим и отдельно анализировать его. – user3159253
Кстати, поскольку каждая строка коротка, вам не нужен ijson, вы можете использовать 'json.loads()'. – user3159253