Newer
Older
//
// Created by martin on 14.11.18.
//
#ifndef LIB4NEURO_CSVREADER_H
#define LIB4NEURO_CSVREADER_H
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <string>
#include "../settings.h"
#include "../DataSet/DataSet.h"
namespace lib4neuro {
/**
*
*/
class CSVReader {
//TODO make more efficient - possibly with external library?
private:
/**
*
*/
std::string file_path;
/**
*
*/
bool header_included;
/**
*
*/
std::string delimiter;
/**
*
*/
bool ignore_first_line;
/**
*
*/
std::unique_ptr<std::vector<std::vector<std::string>>> data;
public:
/**
*
* @param file_path
* @param delimiter
* @param ignore_first_line
*/
LIB4NEURO_API CSVReader(std::string file_path, std::string delimiter=",", bool ignore_first_line=false);
/**
*
*/
LIB4NEURO_API void read();
/**
*
* @return
*/
LIB4NEURO_API std::unique_ptr<std::vector<std::vector<std::string>>>* get_data();
/**
*
* @param input_col_indices
* @param output_col_indices
* @return
*/
LIB4NEURO_API DataSet get_data_set(std::vector<unsigned int>* input_col_indices,
std::vector<unsigned int>* output_col_indices);
/**
*
*/
LIB4NEURO_API void print_data();
};
}