Django FileField эффективное чтение больших CSV файлов

Допустим, у меня есть модель, содержащая файлы csv:

class MyModel:
    my_file = model.FileField(...)

Сейчас я могу прочитать данные из моего csv-файла следующим образом:

 import csv

 csv_data = self.my_file.read().decode('utf-8')
 reader = csv.reader(csv_data.splitlines())

Однако этот метод не эффективен. Он буквально загружает весь файл в память и пытается с ним работать.

Мои CSV-файлы очень большие (более 100 МБ), и они размещены на сервисе S3. Есть ли какой-нибудь эффективный способ разобрать данные CSV?

Вернуться на верх