Clojure:
Arbeiten mit CSV
Wie man es macht:
Eine CSV-Datei lesen
Clojure hat keine eingebaute CSV-Parsing-Funktion in seiner Standardbibliothek, aber Sie können dafür die Bibliothek clojure.data.csv
verwenden. Fügen Sie zuerst die Bibliothek zu Ihren Projekt-Abhängigkeiten hinzu.
In Ihrer project.clj
fügen Sie die folgende Abhängigkeit hinzu:
[clojure.data.csv "1.0.0"]
Um eine CSV-Datei zu lesen und jede Reihe auszudrucken:
(require '[clojure.data.csv :as csv]
'[clojure.java.io :as io])
(with-open [reader (io/reader "Pfad/zu/deinerDatei.csv")]
(doall
(map println (csv/read-csv reader))))
Dies gibt jede Reihe der CSV-Datei als Clojure-Vektor aus.
In eine CSV-Datei schreiben
Um Daten in eine CSV-Datei zu schreiben, können Sie dieselbe clojure.data.csv
Bibliothek verwenden:
(require '[clojure.data.csv :as csv]
'[clojure.java.io :as io])
(let [data [["id", "name", "age"]
["1", "John Doe", "28"]
["2", "Jane Doe", "31"]]]
(with-open [writer (io/writer "Pfad/zu/Ausgabedatei.csv")]
(csv/write-csv writer data)))
Dies erstellt oder überschreibt Ausgabedatei.csv
, und füllt sie mit den angegebenen Daten.
Verwendung einer Drittanbieterbibliothek: clojure.data.csv
Obwohl clojure.data.csv
wohl die unkomplizierteste Bibliothek für den Umgang mit CSV in Clojure ist, könnten Sie für komplexere Aufgaben, wie den Umgang mit CSVs mit Sonderzeichen oder unkonventionellen Trennzeichen, zusätzliche Optionen im Ökosystem erkunden oder sogar Java-Interop mit Bibliotheken wie Apache Commons CSV in Betracht ziehen. Jedoch stellt clojure.data.csv
für die meisten Standard CSV-Verarbeitungsaufgaben in Clojure ein einfaches und effektives Werkzeug-set bereit.