MCPcopy Create free account
hub / github.com/andreiverse/gorilla / parse_csv_reader

Function parse_csv_reader

src/csv_parser.rs:12–37  ·  view source on GitHub ↗
(rdr: &mut csv::Reader<R>)

Source from the content-addressed store, hash-verified

10}
11
12fn parse_csv_reader<R: Read>(rdr: &mut csv::Reader<R>) -> Vec<Vec<FormatFieldAnswer>> {
13 let mut answers: Vec<Vec<FormatFieldAnswer>> = Vec::new();
14
15 let headers: Vec<String> = rdr
16 .headers()
17 .unwrap()
18 .iter()
19 .map(|h| h.to_owned())
20 .collect();
21
22 for result in rdr.records() {
23 let row = result.unwrap();
24 let mut row_answers: Vec<FormatFieldAnswer> = Vec::new();
25
26 for (answer_no, answer) in row.iter().enumerate() {
27 if answer_no < headers.len() {
28 let name = headers[answer_no].to_owned();
29 let answer = answer.to_owned();
30 row_answers.push(FormatFieldAnswer { name, answer });
31 }
32 }
33 answers.push(row_answers);
34 }
35
36 answers
37}
38
39#[cfg(test)]
40mod tests {

Callers 2

fmt_answers_from_csvFunction · 0.85
test_csv_parsingFunction · 0.85

Calls

no outgoing calls

Tested by 1

test_csv_parsingFunction · 0.68