Delimiters

Delimiters

Commas are used by default

julia> using uCSV, DataFrames

julia> s =
       """
       1,2,3
       """
"1,2,3\n"

julia> DataFrame(uCSV.read(IOBuffer(s)))
1×3 DataFrames.DataFrame
│ Row │ x1    │ x2    │ x3    │
│     │ Int64 │ Int64 │ Int64 │
├─────┼───────┼───────┼───────┤
│ 1   │ 1     │ 2     │ 3     │

Spaces can be used

julia> using uCSV, DataFrames

julia> s =
       """
       1 2 3
       """
"1 2 3\n"

julia> DataFrame(uCSV.read(IOBuffer(s), delim=' '))
1×3 DataFrames.DataFrame
│ Row │ x1    │ x2    │ x3    │
│     │ Int64 │ Int64 │ Int64 │
├─────┼───────┼───────┼───────┤
│ 1   │ 1     │ 2     │ 3     │

So can Tabs

julia> using uCSV, DataFrames

julia> s =
       """
       1\t2\t3
       """
"1\t2\t3\n"

julia> DataFrame(uCSV.read(IOBuffer(s), delim='\t'))
1×3 DataFrames.DataFrame
│ Row │ x1    │ x2    │ x3    │
│     │ Int64 │ Int64 │ Int64 │
├─────┼───────┼───────┼───────┤
│ 1   │ 1     │ 2     │ 3     │

So can Strings

julia> using uCSV, DataFrames

julia> s =
       """
       1||2||3
       """
"1||2||3\n"

julia> DataFrame(uCSV.read(IOBuffer(s), delim="||"))
1×3 DataFrames.DataFrame
│ Row │ x1    │ x2    │ x3    │
│     │ Int64 │ Int64 │ Int64 │
├─────┼───────┼───────┼───────┤
│ 1   │ 1     │ 2     │ 3     │

non-ASCII characters work just fine

julia> using uCSV, DataFrames

julia> s =
       """
       1˚2˚3
       """
"1˚2˚3\n"

julia> DataFrame(uCSV.read(IOBuffer(s), delim='˚'))
1×3 DataFrames.DataFrame
│ Row │ x1    │ x2    │ x3    │
│     │ Int64 │ Int64 │ Int64 │
├─────┼───────┼───────┼───────┤
│ 1   │ 1     │ 2     │ 3     │

non-ASCII strings work too

julia> using uCSV, DataFrames

julia> s =
       """
       1≤≥2≤≥3
       """
"1≤≥2≤≥3\n"

julia> DataFrame(uCSV.read(IOBuffer(s), delim="≤≥"))
1×3 DataFrames.DataFrame
│ Row │ x1    │ x2    │ x3    │
│     │ Int64 │ Int64 │ Int64 │
├─────┼───────┼───────┼───────┤
│ 1   │ 1     │ 2     │ 3     │