У меня есть 2 файла json размером data_large(150.1mb)
и data_small(7.5kb)
. Содержимое внутри каждого файла имеет тип [{"score": 68},{"score": 78}]
. Мне нужно найти список уникальных баллов из каждого файла.Как найти уникальные значения в большом файле JSON?
Имея дело с data_small, я сделал следующее, и мне удалось просмотреть его содержимое с помощью 0.1 secs
.
with open('data_small') as f:
content = json.load(f)
print content # I'll be applying the logic to find the unique values later.
Но при работе с data_large, я сделал следующее, и моя система получила повешен, медленно и пришлось заставить запорно-вниз, чтобы привести его в его нормальной скорости. Для печати его содержимого потребовалось около 2 mins
.
with open('data_large') as f:
content = json.load(f)
print content # I'll be applying the logic to find the unique values later.
Как я могу увеличить эффективность программы при работе с большими наборами данных?
Для больших JSon файлов см: http://stackoverflow.com/questions/10382253/reading-rather-large-json-files-in-python/10382359#10382359 Этот ответ предлагает ijson – vinod
@vinod - Cant Я использую встроенные библиотеки python? –
'json' builtin lib загружает весь файл за один раз. Если вам нужно перебрать его, вам нужно будет вручную разобрать json-файл или просто установить lib как 'ijson'. – miki725