Usando clojure-csv.core para analisar um arquivo csv enorme
Até agora eu tenho:
(:require [clojure-csv.core :as csv])
(:require [clojure.java.io :as io]))
(def csv-file (.getFile (clojure.java.io/resource "verbs.csv")))
(defn process-csv [file]
(with-open [rdr (io/reader file)]
(csv/parse-csv rdr)))
Mas eu estou ficandojava.io.IOException: Stream closed
. estou usandoclojure-csv e expõe dois métodos, o primeiro dos quais eu estou usando,parse-csv
, o doc diz:
Takes a CSV as a char sequence or string, and returns a lazy sequence of vectors of strings
O que eu acho que sei:with-open
é preguiçoso erdr
em(csv/parse-csv rdr)))
é uma única linha do arquivo csv certo?
PS. Eu também gostaria de pesquisar o arquivo, é caro para abrir repetidamente o arquivo (mesmo que está sendo lido preguiçosamente) e pesquisar todo o conteúdo?