libdballe 9.6
|
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 |
int dballe::CSVReader::as_int | ( | unsigned | col | ) | const |
Return the given column, as an integer.
A missing value raises an exception.
int dballe::CSVReader::as_int_withmissing | ( | unsigned | col | ) | const |
Return the given column, as an integer.
A missing value is returned as MISSING_INT.
wreport::Varcode dballe::CSVReader::as_varcode | ( | unsigned | col | ) | const |
Return the given column, as a Varcode.
A missing value raises an exception.
void dballe::CSVReader::close | ( | ) |
Sets in to 0.
If close_on_exit is true, close the currently opened file.
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.
bool dballe::CSVReader::close_on_exit |
If true, the input stream will be deleted upon destruction.
If false, it will be left alone.