3 releases
0.0.2 | Jun 21, 2024 |
---|---|
0.0.1 | Jun 21, 2024 |
0.0.0 | Jun 20, 2024 |
#729 in Text processing
610KB
380 lines
czv
Rust library for czv. czv is a library of CSV-related operations for data engineering and analysis tasks.
Links
- czv GitHub repository: https://github.com/rzmk/czv
- Rust: crates.io/crates/czv (source code)
- WebAssembly (JavaScript/TypeScript): npmjs.com/package/czv-wasm (source code)
- Python: pypi.org/project/czv (source code)
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
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.5–2.4MB
~36K SLoC