Rust csv をtupleでindex column(1列目)をわけてdesrerializeする
tupleでindex column(1列目)をわけてdesrerializeする
```.rust
extern crate csv;
#[macro_use]
extern crate serde_derive;
use csv::ReaderBuilder;
use std::error::Error;
#[derive(Debug, Deserialize, Eq, PartialEq)]
struct Row {
value: Vec<i32>,
}
fn example() -> Result<(), Box<dyn Error>> {
let data = "\
label,value1,value2
l1,2,4
l2,2,4
";
let mut rdr = ReaderBuilder::new()
.has_headers(false)
.from_reader(data.as_bytes());
// skip since header 1
let mut data = rdr.deserialize().skip(1).collect::<Result<Vec<(String, Row)>, _>>().unwrap();
for row in data{
println!("label: {:?}", row.0);
println!("data: {:?}", row.1);
}
Ok(())
}
fn main() {
example();
}
```