Моя задача - экспортировать результаты поиска и загружать их в виде CSV-файлов. Мое текущее решение сделало свою работу, но оно неэффективно для больших файлов. Я пишу это приложение в CKAN, который использовал pylon в качестве серверной части. Я прочитал некоторые ответы от SO, такие как: https://stackoverflow.com/a/837561/3781320. Но эти ответы работают, только если файл существует. Я хотел бы знать, как создавать файлы по чанку и загружать чанк одновременно. Мое текущее решение состоит из трех этапов:
- Создание отфильтрованных результатов в виде словаря: мне не нужны полные метаданные результатов поиска для каждого элемента. Поэтому мне нужно отфильтровать необходимые атрибуты.
- Запись каждой строки в обработчик файла csv: файл был обработан как
StringIO
, и я использовал csv.DictWriter
для записи каждой строки. Размер чанка по умолчанию составляет 100 строк. (Мы можем изменить размер куска).
- Начать загрузку с:
return csvFile.read()
Если есть предложения, буду признателен.