Class used to handle data. More...

#include <dataFrame.hpp>

Public Member Functions

 DataFrame (std::string file_name, char delimiter, bool first_row_is_column_names, int primery_key=0)
 Constructor. More...
 
std::string operator() (const int col, const int row)
 Reads cell in c-th column and r-th row. More...
 
std::string operator() (const std::string col, const int row)
 Reads cell in column named c and r-th row. More...
 
std::string operator() (const std::string col, const std::string row)
 Reads cell in column name and row holding primary key r. More...
 
std::vector< std::string > operator() (int col)
 Reads column basic on column number. More...
 
std::vector< std::string > operator() (std::string col)
 Reads column basic on column number. More...
 
double getNumber (const int col, const int row)
 Reads cell in c-th column and r-th row. More...
 
double getNumber (const std::string col, const int row)
 Reads cell in column named c and r-th row. More...
 
double getNumber (const std::string col, const std::string row)
 Reads cell in column name and row holding primary key r. More...
 
std::vector< std::string > getColumnNames () const
 Returns column names as vector of strings.
 
std::vector< std::string > getPrimaryKeys () const
 Returns primary keys as vector of strings.
 
std::map< std::string, std::string > getRow (int row) const
 Returns row in form of std::map.
 
void append (const DataEntryClerk &)
 adds data stored by DataEntryClerk More...
 
void append (const DataFrame &)
 Appends one data frame to another.
 
void print (int n_rows=-1)
 Prints dataframe.
 
void printToCsv (std::string file_name, char delimiter= ';')
 prints dataframe to csv file More...
 
int getNumberOfRows () const
 Returns number of rows.
 
int getNumberOfColumns () const
 Returns number of columns.
 

Private Member Functions

void parseFile (std::string file_name, char delimiter)
 parse csv file, result of method is saved in DataFrame::data_ More...
 
void createColumnNames (bool first_row)
 creates columns names basing on the first row of csv file More...
 

Private Attributes

std::vector< std::vector< std::string > > data_
 Holds data as 2d table of strings.
 
std::map< std::string, int > column_names_
 Maps column name to column number.
 
std::map< std::string, int > primary_key_
 Maps row name to row number.
 
int ncols_ = 0
 number of columns
 
int nrows_ = 0
 number of rows
 

Friends

std::ostream & operator<< (std::ostream &, DataFrame &)
 Overloads stream operator. More...
 

Detailed Description

Class enables to load the csv file and read it contents. One can access the single cell or read whole columns. Class allows to choose cell using column and row numbers or, if defined, column names and primary keys.

Examples:
convergenceExample.cpp, and EuroOptExample.cpp.

Constructor & Destructor Documentation

marian::DataFrame::DataFrame ( std::string  file_name,
char  delimiter,
bool  first_row_is_column_names,
int  primery_key = 0 
)
Parameters
file_nameFile name that will be read.
delimiterSeparation sign in csv file.
first_row_is_column_namesTrue if first row contains column names.
primery_keyDefines which column contains primary key of the table.

Create DataFrame on the basis of provided file.

Member Function Documentation

void marian::DataFrame::append ( const DataEntryClerk entry)

Data stored in DataEntryClerK:data_ are added. If new columns are added, old rows are filled with "." representing missing.

Examples:
convergenceExample.cpp, and EuroOptExample.cpp.
void marian::DataFrame::createColumnNames ( bool  first_row)
private
Remarks
Method used by constructor. Bad practice, so better keep the method non-virtual.
double marian::DataFrame::getNumber ( const int  col,
const int  row 
)
Parameters
colcolumn name
rowrow number
Returns
Returns content of cell as double
double marian::DataFrame::getNumber ( const std::string  col,
const int  row 
)
Parameters
colcolumn name
rowrow number
Returns
Returns content of cell as double
Note
May be used only when column names were defined.
double marian::DataFrame::getNumber ( const std::string  col,
const std::string  row 
)
Parameters
colcolumn name
rowrow number
Returns
Returns content of cell as double
Note
May be used only when column names and primary keys were defined.
std::string marian::DataFrame::operator() ( const int  col,
const int  row 
)
Parameters
colcolumn name
rowrow number
Returns
Returns content of cell as string
std::string marian::DataFrame::operator() ( const std::string  col,
const int  row 
)
Parameters
colcolumn name
rowrow number
Returns
Returns content of cell as string
Note
May be used only when column names were defined.
std::string marian::DataFrame::operator() ( const std::string  col,
const std::string  row 
)
Parameters
colcolumn name
rowrow name
Returns
Returns content of cell as string
Note
May be used only when column names and primary keys were defined.
std::vector< std::string > marian::DataFrame::operator() ( int  col)
Parameters
colcolumn number
Returns
Returns column as vector of string
std::vector< std::string > marian::DataFrame::operator() ( std::string  col)
Parameters
colcolumn number
Returns
Returns column as vector of string
Note
May be used only when column names were defined.
void marian::DataFrame::parseFile ( std::string  file_name,
char  delimiter 
)
private
Remarks
Method used by constructor. Bad practice, so better keep the method non-virtual.
void marian::DataFrame::printToCsv ( std::string  file_name,
char  delimiter = ';' 
)
Parameters
file_name
delimiterseparator used in csv file, by default set to semicolon
Examples:
convergenceExample.cpp, and EuroOptExample.cpp.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
DataFrame df 
)
friend

This overloaded operator enables to print the curve on the console.


The documentation for this class was generated from the following files:
  • C:/Unix/home/OEM/fdm/src/utils/dataFrame.hpp
  • C:/Unix/home/OEM/fdm/src/utils/dataFrame.cpp