Struct irox_csv::CSVMapReader
source · pub struct CSVMapReader<T>{ /* private fields */ }Expand description
Returns each row as a Key => Value Mapping, rather than a simple list of values.
CSVMapReader has more validation than CSVReader, as it REQUIRES that each line in the
csv file have the same number of elements as the header.
Implementations§
source§impl<T: Read + Sized> CSVMapReader<T>
impl<T: Read + Sized> CSVMapReader<T>
sourcepub fn new(read: T) -> Result<CSVMapReader<T>, CSVError>
pub fn new(read: T) -> Result<CSVMapReader<T>, CSVError>
Creates a new CSVMapReader
Will return [Result::Ok(CSVMapReader)] if it can read the CSV’s header.
Will return [Result::Err(CSVError)] if any I/O Error, or no header.
sourcepub fn dialect(read: T, dialect: Dialect) -> Result<Self, CSVError>
pub fn dialect(read: T, dialect: Dialect) -> Result<Self, CSVError>
Creates a new CSVMapReader using the specified dialect
Will return [Result::Ok(CSVMapReader)] if it can read the CSV’s header.
Will return [Result::Err(CSVError)] if any I/O Error, or no header.
sourcepub fn next_row(&mut self) -> Result<Option<Row>, CSVError>
pub fn next_row(&mut self) -> Result<Option<Row>, CSVError>
Maybe return a single row from the CSV file.
Will return [std::result::Result::Ok(None)] upon EOF
Will return [std::result::Result::Err(CSVError)] upon underlying I/O error, or if the
particular row doesn’t have enough elements to match up against the header.