У меня большой CSV, который не будет полностью вписываться в память, и мне нужно много работать над этим. Я новичок в ленивых последовательностях, не знаю, как это решить. Я пытаюсь прочитать весь файл в памяти, а затем проанализировать его, я знаю, что это неправильно.Двойное чтение большого файла CSV
Вот что я пытаюсь сделать:
- Прочитайте строку заголовка и делать вещи, основываясь на этом. Он используется во всей программе.
- Прочитать все строки и собрать сводные данные по каждому столбцу.
- Используйте сводные данные для преобразования исходных данных и записи нового файла.
Есть ли способ прочитать в строке заголовка и использовать его постоянно, не приводя к проблеме «держаться за голову» с ленивыми последовательностями, сохраняя все это в памяти?
Я нашел это связанный нить: using clojure-csv.core to parse a huge csv file
Разбирает файл дважды, строку за строкой. На первом проходе собирайте сводную информацию; на втором проходе выполните ваши преобразования и напишите результаты в новый файл, строчно. –
Могу ли я определить два разных символа с 'let' или повторно использовать один и тот же? Почему это не позволяет «держаться за голову»? – user1559027
Пожалуйста, посмотрите, переводит ли мой вариант вопроса на предложение, задавая вопрос о возможности конкретного результата, переводит этот пост из «преимущественно основанного на мнениях». – user1559027