Agnes
Agnes is a data wrangling crate for Rust. It is intended to provide utilities for data loading, aggregation, annotation, and visualization.
It is still very much a work in progress.
Setup
Add this to your Cargo.toml
:
[dependencies]
agnes = "0.1"
and this to your crate root:
extern crate agnes;
Example
A quick example:
extern crate agnes;
use agnes::source::{CsvReader, CsvSourceBuilder, FileSource};
use agnes::field::{FieldIdent, FieldType};
use agnes::view::DataView;
fn main() {
let data_filepath = Path::new(file!()).parent().unwrap().join("tests/data/sample1.csv");
let file = FileSource::new(data_filepath);
let mut csv_rdr = CsvReader::new(
CsvSourceBuilder::new(file)
.fields(fields![
"state" => FieldType::Text,
"val1" => FieldType::Unsigned,
"val2" => FieldType::Float
])
.build()
).unwrap();
let dv: DataView = csv_rdr.read().unwrap().into();
println!("{}", dv);
}