libdballe 9.6
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
dballe::CSVReader Class Reference

Public Member Functions

 CSVReader (std::istream &in)
 
 CSVReader (const std::string &pathname)
 
void open (const std::string &pathname)
 Open the given file and sets close_on_exit to true.
 
void close ()
 Sets in to 0.
 
int as_int (unsigned col) const
 Return the given column, as an integer.
 
int as_int_withmissing (unsigned col) const
 Return the given column, as an integer.
 
wreport::Varcode as_varcode (unsigned col) const
 Return the given column, as a Varcode.
 
bool move_to_data (unsigned number_col=0)
 Find the first line where the given column exists and starts with a number.
 
bool next ()
 Read the next CSV line, returning false if EOF is reached.
 

Static Public Member Functions

static std::string unescape (const std::string &csvstr)
 

Public Attributes

bool close_on_exit
 If true, the input stream will be deleted upon destruction.
 
std::string line
 Last line read.
 
std::vector< std::string > cols
 Parsed CSV columns for the last line read.
 

Protected Member Functions

int next_char ()
 

Protected Attributes

std::istream * in
 

Member Function Documentation

◆ as_int()

int dballe::CSVReader::as_int ( unsigned  col) const

Return the given column, as an integer.

A missing value raises an exception.

◆ as_int_withmissing()

int dballe::CSVReader::as_int_withmissing ( unsigned  col) const

Return the given column, as an integer.

A missing value is returned as MISSING_INT.

◆ as_varcode()

wreport::Varcode dballe::CSVReader::as_varcode ( unsigned  col) const

Return the given column, as a Varcode.

A missing value raises an exception.

◆ close()

void dballe::CSVReader::close ( )

Sets in to 0.

If close_on_exit is true, close the currently opened file.

◆ move_to_data()

bool dballe::CSVReader::move_to_data ( unsigned  number_col = 0)

Find the first line where the given column exists and starts with a number.

This can be used to skip titles and empty lines, moving to the start of the real data. Real data is identified by using a column that starts with text in the headers and number in the data.

Returns
true if a data line has been found, false if we reached EOF

Member Data Documentation

◆ close_on_exit

bool dballe::CSVReader::close_on_exit

If true, the input stream will be deleted upon destruction.

If false, it will be left alone.


The documentation for this class was generated from the following file: