[][src]Trait test_data_generation::shared::CsvManipulator

pub trait CsvManipulator {
    pub fn read_as_columns(rdr: Reader<&[u8]>) -> Vec<Vec<String>> { ... }
}

Provided methods

pub fn read_as_columns(rdr: Reader<&[u8]>) -> Vec<Vec<String>>

This function parses all the rows and splits the columns into separate Vectors

Arguments

  • rdr: Reader<&[u8]> - The csv::Reader that has read the csv file and is ready to process the data.
extern crate test_data_generation;
extern crate csv;
 
use test_data_generation::shared::CsvManipulator;
use csv::Reader;
 
fn main() {
    struct CsvMngr {}
    impl CsvManipulator for CsvMngr {}

    let mut data = String::from("");
    data.push_str("\"firstname\",\"lastname\"\n");
    data.push_str("\"Aaron\",\"Aaberg\"\n");
    data.push_str("\"Aaron\",\"Aaby\"\n");
    data.push_str("\"Abbey\",\"Aadland\"\n");
    data.push_str("\"Abbie\",\"Aagaard\"\n");
    data.push_str("\"Abby\",\"Aakre\"");
     
    let rdr: Reader<&[u8]> = csv::ReaderBuilder::new()
    .has_headers(true)
    .quote(b'"')
    .double_quote(true)
    .delimiter(b',')
    .from_reader(data.as_bytes());///       
    let columns = CsvMngr::read_as_columns(rdr);
    let column0 = vec!("Aaron", "Aaron", "Abbey", "Abbie", "Abby");
    let column1 = vec!("Aaberg", "Aaby", "Aadland", "Aagaard", "Aakre");
     
    println!("firstname: {:?}", column0);
    println!("lastname: {:?}", column1);
}
Loading content...

Implementors

impl CsvManipulator for DataSampleParser[src]

Loading content...