Very nice. I was thinking about this recently when I came across the rust 
csv library:
http://burntsushi.net/rustdoc/csv/

It had a few neat features that I thought were useful:
* the ability to iterate by row, without saving the entire table to an 
object first (i.e. like awk)
* the option to specify the type of each column (to improve performance)

Some other things I've often wished for in CSV libraries:
* be able to specify an arbitrary functions for mapping a string to data 
type (e.g. strip out currency symbols, fix funny formatting, etc.)
* be able to specify a "end of data" rule, other than end-of-file or number 
of lines (e.g. stop on an empty line)

s

On Monday, 8 December 2014 05:35:02 UTC, John Myles White wrote:
>
> Over the last month or so, I've been slowly working on a new library that 
> defines an abstract toolkit for writing CSV parsers. The goal is to provide 
> an abstract interface that users can implement in order to provide 
> functions for reading data into their preferred data structures from CSV 
> files. In principle, this approach should allow us to unify the code behind 
> Base's readcsv and DataFrames's readtable functions.
>
> The library is still very much a work-in-progress, but I wanted to let 
> others see what I've done so that I can start getting feedback on the 
> design.
>
> Because the library makes heavy use of Nullables, you can only try out the 
> library on Julia 0.4. If you're interested, it's available at 
> https://github.com/johnmyleswhite/CSVReaders.jl
>
> For now, I've intentionally given very sparse documentation to discourage 
> people from seriously using the library before it's officially released. 
> But there are some examples in the README that should make clear how the 
> library is intended to be used.
>
>  -- John
>
>

Reply via email to