Sparksee  6.0.2
CSVReader Class Reference

CSVReader interface. More...

Inheritance diagram for CSVReader:
Inheritance graph
Collaboration diagram for CSVReader:
Collaboration graph

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 &quotes) 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.
 

Detailed Description

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.

Author
Sparsity Technologies http://www.sparsity-technologies.com

Member Function Documentation

void CSVReader::Close ( )
throw (sparksee::gdb::IOException
)
virtual

Closes the reader.

Exceptions
IOExceptionIf the close fails.

Implements RowReader.

sparksee::gdb::int32_t CSVReader::GetRow ( )
throw (sparksee::gdb::IOException
)
virtual

The row number for the current row.

Returns
The current row number; 0 if there is no current row.
Exceptions
IOExceptionIf 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.

Parameters
filePath[in] CSV file path.
Exceptions
IOExceptionIf bad things happen opening the file.
virtual sparksee::gdb::bool_t CSVReader::Read ( sparksee::gdb::StringList &  row)
throw (sparksee::gdb::IOException
)
virtual

Reads the next row as a string array.

Parameters
row[out] A string list with each comma-separated element as a separate entry.
Returns
Returns true if a row had been read or false otherwise.
Exceptions
IOExceptionIf bad things happen during the read.

Implements RowReader.

sparksee::gdb::bool_t CSVReader::Reset ( )
throw (sparksee::gdb::IOException
)
virtual

Moves the reader to the beginning.

Restarts the reader.

Returns
true if the reader can be restarted, false otherwise.
Exceptions
IOExceptionIf 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.

Parameters
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.

Parameters
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.

Parameters
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.

Parameters
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.

Parameters
sep[in] Separator character.
void CSVReader::SetStartLine ( sparksee::gdb::int32_t  startLine)

Sets the number of lines to be skiped from the beginning.

Parameters
startLine[in] The line number to skip for start reading

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