From 2e0a6909cbfb2479edd7fba78fa4d0135a79ae3f Mon Sep 17 00:00:00 2001 From: Benedict Börger Date: Sat, 23 Mar 2019 15:40:35 +0100 Subject: [global] refactoring code base --- src/Csv/mod.rs | 62 ---------------------------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 src/Csv/mod.rs (limited to 'src/Csv/mod.rs') diff --git a/src/Csv/mod.rs b/src/Csv/mod.rs deleted file mode 100644 index 29e1aca..0000000 --- a/src/Csv/mod.rs +++ /dev/null @@ -1,62 +0,0 @@ -use std::fs::File; -use std::io; -use std::io::BufRead; - -/** - Represents a CSV file - **/ - -pub struct CsvFile { - path : String, - delim : String, - pub header : Vec, - pub content : Vec>, - has_header : bool -} - -impl CsvFile { - pub fn new(path: &str, delim: &str, header: bool) -> CsvFile { - CsvFile { - path : String::from(path), - delim: String::from(delim), - header : Vec::new(), - content : Vec::new(), - has_header : header - } - - } - - // TODO nicht gleich viele spalten - fn parse_line(line : String, delim: &str) -> Vec { - let mut columns : Vec = Vec::new(); - for column in line.split(delim).collect::>() { - columns.push(column.to_string()); - } - columns - } - - - pub fn read_file(path: &str, delim: &str, header: bool) -> Result { - let fd = File::open(path)?; - let reader = io::BufReader::new(fd); - let mut column_names : Vec = Vec::new(); - let mut lines : Vec> = Vec::new(); - let mut first = true; - - for line in reader.lines() { - let line = line?; - if header && first { - column_names.append(&mut CsvFile::parse_line(line, delim)); - first = false; - } else { - lines.push(CsvFile::parse_line(line, delim)); - } - } - - Ok(CsvFile { path: String::from(path), - delim : String::from(delim), - header : column_names, - content : lines, - has_header: header } ) - } -} -- cgit v1.2.3-70-g09d2