0
0 комментариев

Для последующего анализа данных, мне нужно получать с api ответов json, весом, сохранённом в текстовом формате ~2.7 мегабайт за каждый. Таких файлов 200-250 тысяч. Вопрос — как хранить и читать. Подскажите пожалуйста оптимальный на ваш взгляд способ.

Сейчас моё решение в том, чтобы использовать модуль gzip (Python 3.6) для сжатия одного большого файла, содержащего в каждой строчке по json ответу. Записывается и читается каждая строка итеративно (плюсуя в конец перенос строки «\n»), не требуя загрузки в оперативку всего файла.
Таким образом в пересчёте на каждый файл 2.7 мб сжимается в 150 кб.
Вопрос — есть ли более удобное решение именно для скорости чтения/записи?

import gzip
import json
from requests import get
 
with gzip.open('large_data.json.gz', 'wb') as outfile:
    while True:
        response = get(url).json()
        outfile.write(json.dumps(response).encode('utf-8') + b'\n')


Добавить комментарий