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.