#csv #parser #data #rfc4180-compliant

horticulteur

A RFC4180-compliant CSV parsing library

2 stable releases

1.1.0 Jul 15, 2020
1.0.0 Jul 14, 2020

#2611 in Parser implementations

MIT license

8KB
167 lines

Horticulteur

Horticulteur is a simple CSV parser that is made to be RFC4180-compliant.

How to use

This crates exports only one function: parse_csv.

use horticulteur::*;

fn main() -> Result<(), Error> {
    let csv_string: &'static str = "1,2,3\r\n4,5,6";
    let parsed_csv: CSV = parse_csv(csv_string)?; // CSV is an alias for Vec<CSVRecord>
    let first_record: &CSVRecord = parsed_csv.get(0).unwrap(); // CSVRecord is an alias for Vec<CSVField>
    let first_field: &CSVField = first_record.get(0).unwrap(); // CSVField is an alias for String
    assert_eq!(first_field, "1");
    Ok(())
}

lib.rs:

CSV Parser.

This module exposes a CSV parser. CSV stands for Comma-separated values, this file format allows to represent tabular data into a text file. This CSV parser is made to be RFC4180-compliant.

No runtime deps