#csv #data #library

czv

Rust library for performing CSV-related operations for data engineering and analysis

3 releases

0.0.2 Jun 21, 2024
0.0.1 Jun 21, 2024
0.0.0 Jun 20, 2024

#827 in Text processing

21 downloads per month

MIT/Apache

610KB
380 lines

czv

Rust library for czv. czv is a library of CSV-related operations for data engineering and analysis tasks.

Usage

To install czv, run:

cargo install czv

Let's say we want to print the total number of rows in a 4x3 CSV file fruits.csv including the header row:

use czv::{RowCount, Result};

fn main() -> Result<()> {
    let data = "\
fruits,price
apple,2.50
banana,3.00
strawberry,1.50
";
    let output = RowCount::new()
        .file_data(data)
        .include_header_row(true)
        .execute()?;
    println!("{output}"); // 4
    Ok(())
}

When ran, this should be the standard output printed in the terminal:

4

Tests

To run the tests, run:

cargo test

Benchmarks

To run the benchmarks, run:

cargo bench

For benchmarks we use criterion.rs.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~1.6–2.4MB
~36K SLoC