pub struct Row<'a> { /* private fields */ }Expand description
Implementations§
Source§impl Row<'_>
impl Row<'_>
Sourcepub fn fields(&self) -> Result<Fields<'_>, ReadError>
pub fn fields(&self) -> Result<Fields<'_>, ReadError>
Iterate over all fields as &str, zero allocation.
Returns an error if this row was the result of a parse failure.
use csv::Reader;
let mut reader = Reader::from_reader(std::io::Cursor::new(b"\"hello\",world\n"));
for row in reader.rows() {
for field in row.fields()? {
}
}Source§impl Row<'_>
impl Row<'_>
Sourcepub fn deserialize<T>(&self) -> Result<T, ReadError>where
T: DeserializeOwned,
pub fn deserialize<T>(&self) -> Result<T, ReadError>where
T: DeserializeOwned,
Deserialize this row into a T.
If parse_headers was called
before iterating, struct fields are matched by column name.
Otherwise, fields are mapped positionally.
§Example
use csv::Reader;
use serde::Deserialize;
#[derive(Deserialize)]
struct Record { name: String, age: u32 }
let mut reader = Reader::from_reader(std::io::Cursor::new(b"name,age\nAlice,30\n"));
reader.parse_headers()?;
for row in reader.rows() {
let rec: Record = row.deserialize()?;
println!("{} is {}", rec.name, rec.age);
}Trait Implementations§
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for Row<'a>
impl<'a> !UnwindSafe for Row<'a>
impl<'a> Freeze for Row<'a>
impl<'a> Send for Row<'a>
impl<'a> Sync for Row<'a>
impl<'a> Unpin for Row<'a>
impl<'a> UnsafeUnpin for Row<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more