Qore CsvUtil Module Reference
1.10
|
The CsvDataIterator class allows arbitrary CSV string data to be iterated on a record basis. More...
Public Member Methods | |
constructor (string data, *hash opts) | |
Creates the CsvDataIterator with the input data and optionally an option hash. More... | |
constructor (string data, hash spec, hash opts) | |
Creates the CsvDataIterator in multi-type mode with the path of the file to read and an option hash. More... | |
Public Member Methods inherited from CsvUtil::AbstractCsvIterator | |
constructor (AbstractLineIterator li, *hash< auto > opts) | |
creates the AbstractCsvIterator with an option hash in single-type mode More... | |
constructor (AbstractLineIterator li, hash< auto > spec, hash< auto > opts) | |
creates the AbstractCsvIterator with an option hash in multi-type mode More... | |
*list< string > | getHeaders () |
Returns the current record headers or NOTHING if no headers have been detected or saved yet. More... | |
*list< string > | getHeaders (string type) |
Returns a list of headers for the given record or NOTHING if the record is not recognized. More... | |
string | getQuote () |
Returns the current quote string. More... | |
string | getRawLine () |
Returns the current line 'as it is', i.e. the original string. More... | |
list< *string > | getRawLineValues () |
Returns the list of raw string values of the current line. More... | |
hash< auto > | getRecord () |
Returns the current record as a hash. More... | |
hash< auto > | getRecord (bool extended) |
Returns the current record as a hash. More... | |
auto | getRecordList () |
Returns the current record as a list. More... | |
*hash< string, AbstractDataField > | getRecordType () |
Returns the description of the record type, if any. | |
string | getSeparator () |
Returns the current separator string. More... | |
hash< auto > | getValue () |
Returns the current record as a hash. More... | |
string | identifyType (list< auto > rec) |
Identify a fixed-length line type using identifyTypeImpl(); may be overridden if necessary. More... | |
int | index () |
Returns the row index being iterated, which does not necessarily correspond to the line number when there are header rows and blank lines are skipped. More... | |
int | lineNumber () |
Returns the current iterator line number in the file (the first line is line 1) or 0 if not pointing at a valid element. More... | |
auto | memberGate (string name) |
Returns the given column value for the current row. More... | |
bool | next () |
Moves the current line / record position to the next line / record; returns False if there are no more lines to iterate. More... | |
peek () | |
Reads a single row without moving the index position. More... | |
Additional Inherited Members | |
Private Member Methods inherited from CsvUtil::AbstractCsvIterator | |
list< *string > | getLineAndSplit () |
Read line split by separator/quote into list. | |
*string | identifyTypeImpl (list< auto > rec) |
Identify a input record, given the raw line string. This method performs a lookup to a precalculated table based on number of records (see constructor()). In case different criteria are needed, eg. when two line types in a spec have the same record number and no unique resolving rule are specified, this method needs to be overridden, otherwise it will throw an exception because the precalculated mapping will be empty. More... | |
hash< auto > | parseLine () |
Parses a line in the file and returns a processed list of the fields. | |
prepareFieldsFromHeaders (*list< auto > headers) | |
match headers provided at csv header or in options, never called for multi-type because header_names is False | |
processCommonOptions (*hash< auto > opts, int C_OPTx) | |
process common options and and assing internal fields | |
processSpec (hash< auto > spec) | |
process specification and assing internal data for resolving | |
Private Attributes inherited from CsvUtil::AbstractCsvIterator | |
*string | eol |
the eol marker, if any | |
const | Options = ... |
valid options for the object (a hash for quick lookups of valid keys) | |
The CsvDataIterator class allows arbitrary CSV string data to be iterated on a record basis.
The class is deprecated as CsvIterator provides more flexibility.
Creates the CsvDataIterator with the input data and optionally an option hash.
data | the input data to iterate |
opts | a hash of optional options; see AbstractCsvIterator Constructor Option Hash Overview for more information |
ABSTRACTCSVITERATOR-ERROR | invalid or unknown option; invalid data type for option; "header_names" is True and "header_lines" is 0 or "headers" is also present; unknown field type |
Creates the CsvDataIterator in multi-type mode with the path of the file to read and an option hash.
data | the input data to iterate |
spec | a hash of field and type definition; see Option Field Hash for more information |
opts | a hash of optional options; see AbstractCsvIterator Constructor Option Hash Overview for more information |