Clojure:
עובדים עם CSV
איך ל:
קריאת קובץ CSV
ל-Clojure אין פונקציית פיענוח CSV מובנית בספריית הסטנדרט שלה, אך ניתן להשתמש בספריית clojure.data.csv
למטרה זו. ראשית, הוסף את הספרייה לתלות הפרויקט שלך.
ב-project.clj
שלך, הוסף את התלות הבאה:
[clojure.data.csv "1.0.0"]
לקריאת קובץ CSV והדפסת כל שורה:
(require '[clojure.data.csv :as csv]
'[clojure.java.io :as io])
(with-open [reader (io/reader "path/to/yourfile.csv")]
(doall
(map println (csv/read-csv reader))))
זה יפלט כל שורה מה-CSV כווקטור של Clojure.
כתיבה לקובץ CSV
לכתיבת נתונים לקובץ CSV, ניתן להשתמש באותה ספריית clojure.data.csv
:
(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 "path/to/outputfile.csv")]
(csv/write-csv writer data)))
זה יוצר או דורס את outputfile.csv
, ממלא אותו בנתונים המפורטים.
שימוש בספריית צד שלישי: clojure.data.csv
למרות ש-clojure.data.csv
הוא, ללא ספק, הספרייה הפשטנית ביותר לטיפול ב-CSV ב-Clojure, למשימות מורכבות יותר, כמו התמודדות עם CSV-ים עם תווים מיוחדים או מפרידים לא רגילים, עשויים להיות שימושיים אפשרויות נוספות באקוסיסטם או אף לשקול חיבור עם ספריות של Java כמו Apache Commons CSV. עם זאת, לרוב משימות העיבוד של CSV ב-Clojure, clojure.data.csv
מספק ערכה פשוטה ויעילה של כלים.