basilisp.csv

Wrapper functions for csv which reads and writes CSVs.

fn (read-csv input & {:keys [separator quote], :or {quote "\"", separator ","}})[source]

Returns a lazy sequence of vectors corresponding to the rows of a CSV file.

If input is a string, it will be treated as the contents of a CSV. Otherwise, it will be treated as a io.TextIOBase.

The reader function supports the following keyword arguments:

keyword :separator:

the character used as the separator for a fields in a row default is “,”

keyword :quote:

the quote character used on quoted fields; default is true

fn (rows->maps rows & {:keys [key-fn], :or {key-fn keyword}})[source]

Returns a lazy sequence mapping over a sequence of CSV data (as vectors) converting them to maps.

The first row will be used as the headers. The :key-fn keyword argument names a function which will be used to map over the keys.

fn (write-csv writer data & {:keys [separator quote newline], :or {quote "\"", separator ",", newline :lf}})[source]

Write a sequence of rows in CSV format to writer, which should be an io.TextIOBase.

The writing function supports the following keyword arguments:

keyword :separator:

the character used as the separator for a fields in a row default is “,”

keyword :quote:

the quote character used on quoted fields; default is true

keyword :newline:

the newline character to use between rows (:lf or :cr+lf)