summaryrefslogtreecommitdiff
path: root/src/Csv/mod.rs
diff options
context:
space:
mode:
authorBenedict Börger <benedict@0xb8000.de>2019-03-23 15:40:35 +0100
committerBenedict Börger <benedict@0xb8000.de>2019-03-23 15:41:11 +0100
commit2e0a6909cbfb2479edd7fba78fa4d0135a79ae3f (patch)
tree83070d9e1489faaea9a94609e7ff5bccedeb66d5 /src/Csv/mod.rs
parent7fcdc3ecc0f077ff7ff4ec57c912beae4f974fdb (diff)
[global] refactoring code base
Diffstat (limited to 'src/Csv/mod.rs')
-rw-r--r--src/Csv/mod.rs62
1 files changed, 0 insertions, 62 deletions
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<String>,
- pub content : Vec<Vec<String>>,
- 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<String> {
- let mut columns : Vec<String> = Vec::new();
- for column in line.split(delim).collect::<Vec<&str>>() {
- columns.push(column.to_string());
- }
- columns
- }
-
-
- pub fn read_file(path: &str, delim: &str, header: bool) -> Result<CsvFile, io::Error> {
- let fd = File::open(path)?;
- let reader = io::BufReader::new(fd);
- let mut column_names : Vec<String> = Vec::new();
- let mut lines : Vec<Vec<String>> = 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 } )
- }
-}