Я пытаюсь открыть большие файлы .csv (16k строк +, ~ 15 столбцов) в скрипте Python, и у меня возникли некоторые проблемы.
Я использую встроенную функцию open (), чтобы открыть файл, затем объявляю csv.DictReader, используя входной файл. Цикл структурирован так:
for (i, row) in enumerate(reader):
# do stuff (send serial packet, read response)
Однако, если я использую файл длиной более 20 строк, файл откроется, но через несколько итераций я получу операцию ValueError: I / O для закрытого файла.
Я думаю, что у меня может быть недостаточно памяти (хотя размер файла 16 КБ составляет всего 8 МБ, а у меня 3 ГБ ОЗУ), и в этом случае я ожидаю, что мне понадобится использовать какой-то буфер для загрузки только разделы файла в памяти одновременно.
Я на правильном пути? Или могут быть другие причины неожиданного закрытия файла?
edit: примерно в половине случаев я запускаю это с CSV из 11 строк, это дает мне ValueError. Ошибка не всегда возникает в одной строке