A package for working with CSV and other delimited files.
Types/functions:
CSV.Source
/CSV.Sink
:Data.Source
andData.Sink
types for the DataStreams.jl interfaceCSV.Options
: a type that collects various parsing configurations that can be passed toCSV.Source
orCSV.csv
CSV.csv
: convenience method that supports all the same options/inputs asCSV.Source
; it creates aCSV.Source
and then callsData.stream!(source, Data.Table)
Data.stream!(::CSV.Source,::CSV.Sink)
: method for streaming data from a CSV source to a CSV sink (csv file to csv file)Data.stream!(::CSV.Source,::Data.Table)
: method for streaming data from a CSV source to aData.Table
(Julia structure)Data.stream!(::Data.Table,::CSV.Sink)
: method for streaming data from aData.Table
to a CSV sinkCSV.getfield{T}(io::IOBuffer, ::Type{T}, opt::CSV.Options=CSV.Options(), row=0, col=0)
: various custom parsing methods for typesT
CSV.readline(f::IO,q::UInt8,e::UInt8,buf::IOBuffer=IOBuffer())
: customreadline
implementation that accounts for potentially quoted newlinesCSV.readsplitline(f::IO,d::UInt8,q::UInt8,e::UInt8,buf::IOBuffer=IOBuffer())
: similar toreadline
, but also splits each field into a separate element in aVector{UTF8String}
CSV.countlines(f::IO,q::UInt8,e::UInt8)
: customcountlines
implementation that accounts for potential quoted newlines
See the help documentation for any of the above for additional details (e.g. ?CSV.Options
, ?CSV.read
, etc.)
The package is currently in "beta", which means it's been tested, used by various and sundry whipper-snappers, but most likely has some corner cases yet to be fleshed out. Please let us know about your experience, any bugs, or feature requests here!