Clojure:
Arbeide med CSV
Hvordan:
Lese en CSV-fil
Clojure har ikke innebygd CSV-parsing i sitt standardbibliotek, men du kan bruke clojure.data.csv
biblioteket til dette formålet. Først, legg til biblioteket i prosjektavhengighetene dine.
I din project.clj
, legg til denne avhengigheten:
[clojure.data.csv "1.0.0"]
For å lese en CSV-fil og skrive ut hver rad:
(require '[clojure.data.csv :as csv]
'[clojure.java.io :as io])
(with-open [reader (io/reader "sti/til/dinfile.csv")]
(doall
(map println (csv/read-csv reader))))
Dette vil skrive ut hver rad av CSV-en som en Clojure-vektor.
Skrive til en CSV-fil
For å skrive data til en CSV-fil, kan du bruke det samme clojure.data.csv
-biblioteket:
(require '[clojure.data.csv :as csv]
'[clojure.java.io :as io])
(let [data [["id" "navn" "alder"]
["1" "John Doe" "28"]
["2" "Jane Doe" "31"]]]
(with-open [writer (io/writer "sti/til/utdatafil.csv")]
(csv/write-csv writer data)))
Dette oppretter eller overskriver utdatafil.csv
, og fyller den med de angitte dataene.
Bruk av et tredjepartsbibliotek: clojure.data.csv
Selv om clojure.data.csv
er utvilsomt det mest rettframme biblioteket for håndtering av CSV i Clojure, for mer komplekse oppgaver, som å håndtere CSV-er med spesialtegn eller uvanlige skilletegn, kan du utforske flere alternativer innen økosystemet eller til og med vurdere Java interop med biblioteker som Apache Commons CSV. Imidlertid, for de fleste standard CSV-behandlingsoppgaver i Clojure, tilbyr clojure.data.csv
et enkelt og effektivt verktøysett.