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 > >
