Поскольку файл будет содержать много информации, загрузка всей памяти файла, добавление информации и запись всего файла обратно в файловую систему - как указано в некоторых ответах - окажется проблематичной
blockquote>Если ваш файл действительно слишком большой, чтобы поместиться в памяти, то либо исходный json должен был быть разбит на более мелкие независимые части, либо это просто неправильный вариант использования json. То, что у вас есть в данном случае, является проблемой дизайна, а не проблемой кодирования.
Существует по крайней мере один потоковый анализатор json , который может или нет позволить вам решить проблему, в зависимости от структуры исходных данных и эффективных обновлений, которые вы должны сделать. [114 ]
При этом на современных компьютерах вам нужен действительно огромный json-файл, чтобы в конечном итоге съесть все ваши оперативные памяти, поэтому прежде всего вам следует просто проверить эффективный размер файла и объем памяти, который необходимо проанализировать для Python.
SELECT * from foo where timestamp = (select max(timestamp) from foo)
или, если SQLite настаивает на том, чтобы рассматривать, подвыбирает как наборы,
SELECT * from foo where timestamp in (select max(timestamp) from foo)
Я думаю, что ответил на этот вопрос 5 раз на прошлой неделе теперь, но я также устал для нахождения ссылки на одного из тех прямо сейчас, таким образом, здесь это снова...
SELECT
*
FROM
table T1
LEFT OUTER JOIN table T2 ON
T2.timestamp > T1.timestamp
WHERE
T2.timestamp IS NULL
Вы в основном ищете строку, где никакие другие соответствия строки, который является позже, чем она.
Примечание: Как указано в комментариях, этот метод не будет работать также в этом виде ситуации. Это будет обычно работать лучше (на SQL Server, по крайней мере) в ситуациях, где Вы хотите последнюю строку для каждого клиента (как пример).