CsvUtil::CsvDataIterator Class Reference

The CsvDataIterator class allows arbitrary CSV string data to be iterated on a record basis. More...

Inheritance diagram for CsvUtil::CsvDataIterator:
[legend]

## Public Member Functions

| 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 Functions inherited from CsvUtil::AbstractCsvIterator
| constructor (AbstractLineIterator li, *hash opts)
| creates the AbstractCsvIterator with an option hash in single-type mode More...
| constructor (AbstractLineIterator li, hash spec, hash opts)
| creates the AbstractCsvIterator with an option hash in multi-type mode More...
*list | getHeaders ()
| Returns the current record headers or NOTHING if no headers have been detected or saved yet. More...
*list | 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...
hash | getRecord (bool extended)
| Returns the current record as a hash. More...
hash | getRecord ()
| Returns the current record as a hash. More...
auto | getRecordList ()
| Returns the current record as a list. More...
string | getSeparator ()
| Returns the current separator string. More...
hash | getValue ()
| Returns the current record as a hash. More...
string | identifyType (list 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...

## Detailed Description

The CsvDataIterator class allows arbitrary CSV string data to be iterated on a record basis.

The class is deprecated as CsvIterator provides more flexibility.

See also
  - CsvIterator for a stream-based class providing the same functionality as this class in a more generic way
  - AbstractCsvIterator Constructor Option Hash Overview
  - Option Field Types
  - Option Field Hash

## Member Function Documentation

## constructor() [1/2]

CsvUtil::CsvDataIterator::constructor | ( | string | data,
|  | *hash | opts
| ) |  |

Creates the CsvDataIterator with the input data and optionally an option hash.

Parameters

  data | the input data to iterate
  opts | a hash of optional options; see AbstractCsvIterator Constructor Option Hash Overview for more information

Exceptions

  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

## constructor() [2/2]

CsvUtil::CsvDataIterator::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.

Parameters

  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