Clojure:
Työskentely CSV:n kanssa
Kuinka:
CSV-tiedoston lukeminen
Clojurella ei ole sisäänrakennettua CSV:n jäsentämistä sen vakio-kirjastossa, mutta voit käyttää clojure.data.csv
-kirjastoa tähän tarkoitukseen. Lisää ensin kirjasto projektisi riippuvuuksiin.
project.clj
-tiedostoosi, lisää seuraava riippuvuus:
[clojure.data.csv "1.0.0"]
Lue CSV-tiedosto ja tulosta jokainen rivi:
(require '[clojure.data.csv :as csv]
'[clojure.java.io :as io])
(with-open [reader (io/reader "polku/tiedostoosi.csv")]
(doall
(map println (csv/read-csv reader))))
Tämä tulostaa jokaisen CSV:n rivin Clojure-vektorina.
Kirjoittaminen CSV-tiedostoon
Voit kirjoittaa dataa CSV-tiedostoon käyttämällä samaa clojure.data.csv
-kirjastoa:
(require '[clojure.data.csv :as csv]
'[clojure.java.io :as io])
(let [data [["id" "nimi" "ikä"]
["1" "John Doe" "28"]
["2" "Jane Doe" "31"]]]
(with-open [writer (io/writer "polku/tulostetiedosto.csv")]
(csv/write-csv writer data)))
Tämä luo tai ylikirjoittaa tulostetiedosto.csv
, täyttäen sen määritellyllä datalla.
Kolmannen osapuolen kirjaston käyttäminen: clojure.data.csv
Vaikka clojure.data.csv
onkin ehkä suoraviivaisin kirjasto CSV-käsittelyyn Clojuressa, monimutkaisempiin tehtäviin, kuten erikoismerkkejä sisältävien CSV:iden tai epätavallisten erotinmerkkien käsittelyyn, saattaisit tutkia lisävaihtoehtoja ekosysteemissä tai jopa harkita Java-interoppia kirjastojen kuten Apache Commons CSV kanssa. Kuitenkin useimmille standardeille CSV:n käsittelytehtäville Clojuressa, clojure.data.csv
tarjoaa yksinkertaisen ja tehokkaan työkalupakin.