Я пытался записать большое количество (> 800 Мбайт) данных в файл JSON; Я сделал некоторое изрядное количество проб и ошибок, чтобы получить этот код:Как написать большие данные JSON?
def write_to_cube(data):
with open('test.json') as file1:
temp_data = json.load(file1)
temp_data.update(data)
file1.close()
with open('test.json', 'w') as f:
json.dump(temp_data, f)
f.close()
, чтобы запустить его просто вызовите функцию write_to_cube({"some_data" = data})
Теперь проблемы с этим кодом является то, что это быстро для небольшого количества данных, но проблема возникает, когда файл test.json
имеет в нем более 800 МБ. Когда я пытаюсь обновить или добавить данные к нему, это займет много времени.
Я знаю, что есть внешние библиотеки, такие как simplejson
или jsonpickle
. Я не уверен, как их использовать.
Есть ли другой способ решения этой проблемы?
Update:
Я не знаю, как это может быть дубликатом, другие статьи ничего не говорится о письме или обновлении большого файла JSON, а они говорят только о разборе.
Is there a memory efficient and fast way to load big json files in python?
Reading rather large json files in Python
Ничего из вышеперечисленного решить этот вопрос дубликат. Они ничего не говорят о написании или обновлении.
Возможный дубликат [is-there-a-memory-efficient-and-fast-way-to-load-big-json-files-in-python] (http://stackoverflow.com/questions/2400643/is-there-a-memory-efficient-and-fast-way-to-load-big-json-files-in-python) – BPL
В основном JSON не является хорошим выбором формата, когда дело доходит до сериализация большого количества данных. –
Возможный дубликат [Чтение довольно больших json-файлов в Python] (http://stackoverflow.com/questions/10382253/reading-rather-large-json-files-in-python) –