Sparksee
6.0.2
|
Public Member Functions | |
CSVReader () | |
Constructs CSVReader. | |
void | SetSeparator (const std::wstring &sep) throw (sparksee::gdb::Error) |
Sets the character used to separate fields in the file. More... | |
void | SetQuotes (const std::wstring "es) throw (sparksee::gdb::Error) |
Sets the character used to quote fields. More... | |
void | SetMultilines (sparksee::gdb::int32_t numExtralines) |
Allows the use of fields with more than one line. More... | |
void | SetSingleLine () |
Only allows single line fields. | |
void | SetStartLine (sparksee::gdb::int32_t startLine) |
Sets the number of lines to be skiped from the beginning. More... | |
void | SetNumLines (sparksee::gdb::int32_t numLines) |
Used to limit the number of lines that will be read. More... | |
void | SetLocale (const std::wstring &localeStr) |
Sets the locale that will be used to read the file. More... | |
void | Open (const std::wstring &filePath) throw (sparksee::gdb::IOException) |
Opens the source file path. More... | |
sparksee::gdb::bool_t | Reset () throw (sparksee::gdb::IOException) |
Moves the reader to the beginning. More... | |
virtual sparksee::gdb::bool_t | Read (sparksee::gdb::StringList &row) throw (sparksee::gdb::IOException) |
Reads the next row as a string array. More... | |
sparksee::gdb::int32_t | GetRow () throw (sparksee::gdb::IOException) |
The row number for the current row. More... | |
void | Close () throw (sparksee::gdb::IOException) |
Closes the reader. More... | |
virtual | ~CSVReader () |
Destructor. | |
CSVReader interface.
A very simple CSV reader.
It works as any other RowReader, but open must be called once before the first read operation.
Using the format RFC 4180.
Except: leading and trailing spaces, adjacent to CSV separator character, are trimmed.
You can use your own separators and quote characters. By default the separator is the comma (,) and the quote character is the double quotes (").
Fields with multiple lines can be allowed (and the maximum lines specified), but the default is a single line.
The locale string can be used to set the language, country and the file encoding. The format must be "[language_territory][.codeset]". But only the file encoding is being used in the current version.
The languages supported are: "en_US", "es_ES" and "ca_ES".
The file encodings supported are: "utf8" and "iso88591".
For example:
To don't change the default locales, use an empty string: "".
To read a file in utf8 with the default language settings use ".utf8".
To read a file in iso88591 with English language use: "en_US.iso88591".
Check out the 'Data import' section in the SPARKSEE User Manual for more details on this.
|
virtual |
|
virtual |
The row number for the current row.
IOException | If it fails. |
Implements RowReader.
void CSVReader::Open | ( | const std::wstring & | filePath | ) | |
throw | ( | sparksee::gdb::IOException | |||
) |
Opens the source file path.
File can be optionally compressed in GZIP format.
filePath | [in] CSV file path. |
IOException | If bad things happen opening the file. |
|
virtual |
Reads the next row as a string array.
row | [out] A string list with each comma-separated element as a separate entry. |
IOException | If bad things happen during the read. |
Implements RowReader.
|
virtual |
Moves the reader to the beginning.
Restarts the reader.
true
if the reader can be restarted, false
otherwise. IOException | If bad things happen during the restart. |
Implements RowReader.
void CSVReader::SetLocale | ( | const std::wstring & | localeStr | ) |
Sets the locale that will be used to read the file.
localeStr | [in] The locale string for the file encoding. |
void CSVReader::SetMultilines | ( | sparksee::gdb::int32_t | numExtralines | ) |
Allows the use of fields with more than one line.
numExtralines | [in] Maximum number of extra lines for each column (0==unlimited, N==N+1 total rows). |
void CSVReader::SetNumLines | ( | sparksee::gdb::int32_t | numLines | ) |
Used to limit the number of lines that will be read.
numLines | [in] The maximum number of lines to read (0 == unlimited) |
void CSVReader::SetQuotes | ( | const std::wstring & | quotes | ) | |
throw | ( | sparksee::gdb::Error | |||
) |
Sets the character used to quote fields.
quotes | [in] Quote character. |
void CSVReader::SetSeparator | ( | const std::wstring & | sep | ) | |
throw | ( | sparksee::gdb::Error | |||
) |
Sets the character used to separate fields in the file.
sep | [in] Separator character. |
void CSVReader::SetStartLine | ( | sparksee::gdb::int32_t | startLine | ) |
Sets the number of lines to be skiped from the beginning.
startLine | [in] The line number to skip for start reading |