csvlib / README.rst

csvlib - CSV library for Clojure


Library to read and write CSV files with Clojure.



Assume log.csv has the following data

2/20/11 7:58 AM,

Then you can do

; Simple use
(let [records (read-csv "log.csv")]
  (println ((first records) 0)))

;=> Date

; With headers
(let [records (read-csv "log.csv" :headers? true)]
  (println ((first records) "IP")))


; With conversion
(let [df (DateFormat/getInstance)
      convert {"Date" #(.parse df %)}
      records (read-csv "log.csv" :headers? true :convert convert)]
  (println ((first records) "Date")))

;=> #<Date Sun Feb 20 07:58:00 PST 2011>


Copyright (C) 2010 Miki Tebeka <>

Distributed under the Eclipse Public License, the same as Clojure.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.