Crate csv_line

Source
Expand description

Fast deserialization of a single csv line.

§Usage

#[derive(Debug, PartialEq, serde::Deserialize)]
struct Foo(String, i32);

assert_eq!(csv_line::from_str::<Foo>("foo,42").unwrap(), Foo("foo".into(), 42));
assert_eq!(csv_line::from_str_sep::<Foo>("foo 42", b' ').unwrap(), Foo("foo".into(), 42));

§Speed

The performance is comparable with serde_json (lower is better):

test csv_builder ... bench:      16,003 ns/iter (+/- 914)
test csv_core    ... bench:      15,695 ns/iter (+/- 1,155)
test csv_line    ... bench:         240 ns/iter (+/- 14)
test serde_json  ... bench:         124 ns/iter (+/- 5)

The benchmark code is here.

Structs§

CSVLine
A struct to hold the parser settings

Enums§

Error
An error that can occur when processing CSV data

Functions§

from_str
Deserializes the string
from_str_sep
Deserialize a csv formatted &str where the separator is specified

Type Aliases§

Result
A type alias for Result<T, csv_line::Error>