Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. extern crate csv;
  2. extern crate serde;
  3.  
  4. use serde::{Deserialize, Serialize};
  5.  
  6. #[derive(Debug, Serialize, Deserialize)]
  7. struct Failed {
  8. field: usize,
  9. }
  10.  
  11. fn main() -> Result<(), Box<std::error::Error>> {
  12. let data = "\
  13. city,country,pop
  14. Boston,United States,42695
  15. Concord,United States,42695
  16. ";
  17.  
  18. let mut rdr = csv::Reader::from_reader(data.as_bytes());
  19. for result in rdr.deserialize() {
  20. let record: Failed = match result {
  21. Ok(record) => record,
  22. Err(err) => {
  23. match *err.kind() {
  24. csv::ErrorKind::Deserialize { pos: Some(ref pos), .. } => {
  25. println!("line: {}", pos.line());
  26. }
  27. _ => {
  28. println!("not a deserialize error");
  29. }
  30. }
  31. continue;
  32. }
  33. };
  34. println!("{:?}", record);
  35. }
  36. Ok(())
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement