294 string separator =
",";
300 softint headerLines = 0;
303 bool headerNames = False;
306 bool ignoreEmptyLines = True;
309 bool ignoreWhitespace = True;
315 bool checkElementCounts = False;
318 bool extendedRecord = False;
321 bool compat_force_empty_string = False;
333 hash<string, hash<string, list<hash<auto>>>> m_resolve_by_rule;
336 hash<string, list<string>> m_resolve_by_count;
339 hash<string, list<string>> m_resolve_by_idx;
342 bool fakeHeaderNames;
348 AbstractLineIterator lineIterator;
370 constructor(AbstractLineIterator li, hash<auto> spec, hash<auto> opts);
593 auto handleType(hash<auto> fh, *
string val);
the AbstractCsvIterator class is an abstract base class that allows abstract CSV data to be iterated
Definition AbstractCsvIterator.qc.dox.h:285
prepareFieldsFromHeaders(*list< auto > headers)
match headers provided at csv header or in options, never called for multi-type because header_names ...
hash< auto > getInfo()
Returns configuration information about the object.
hash< auto > getRecord(bool extended)
Returns the current record as a hash.
string getQuote()
Returns the current quote string.
processSpec(hash< auto > spec)
process specification and assing internal data for resolving
*string eol
the eol marker, if any
Definition AbstractCsvIterator.qc.dox.h:345
auto memberGate(string name)
Returns the given column value for the current row.
constructor(AbstractLineIterator li, *hash< auto > opts)
creates the AbstractCsvIterator with an option hash in single-type mode
string getRawLine()
Returns the current line 'as it is', i.e. the original string.
const Options
valid options for the object (a hash for quick lookups of valid keys)
Definition AbstractCsvIterator.qc.dox.h:290
peek()
Reads a single row without moving the index position.
*hash< string, AbstractDataField > getRecordType()
Returns the description of the record type, if any.
string identifyType(list< auto > rec)
Identify a fixed-length line type using identifyTypeImpl(); may be overridden if necessary.
hash< auto > getRecord()
Returns the current record as a hash.
int index()
Returns the row index being iterated, which does not necessarily correspond to the line number when t...
hash< auto > getValue()
Returns the current record as a hash.
*string identifyTypeImpl(list< auto > rec)
Identify a input record, given the raw line string. This method performs a lookup to a precalculated ...
hash< auto > parseLine()
Parses a line in the file and returns a processed list of the fields.
*list< string > getHeaders()
Returns the current record headers or NOTHING if no headers have been detected or saved yet.
int lineNumber()
Returns the current iterator line number in the file (the first line is line 1) or 0 if not pointing ...
processCommonOptions(*hash< auto > opts, int C_OPTx)
process common options and and assing internal fields
constructor(AbstractLineIterator li, hash< auto > spec, hash< auto > opts)
creates the AbstractCsvIterator with an option hash in multi-type mode
*list< string > getHeaders(string type)
Returns a list of headers for the given record or NOTHING if the record is not recognized.
list< *string > getLineAndSplit()
Read line split by separator/quote into list.
list< *string > getRawLineValues()
Returns the list of raw string values of the current line.
auto getRecordList()
Returns the current record as a list.
string getSeparator()
Returns the current separator string.
bool next()
Moves the current line / record position to the next line / record; returns False if there are no mor...
the CsvUtil namespace. All classes used in the CsvUtil module should be inside this namespace
Definition AbstractCsvIterator.qc.dox.h:28