Qore CsvUtil Module Reference
1.2
|
the AbstractCsvWriter class provides a parent for all CSV writers More...
Public Member Functions | |
constructor (string errname, *hash opts) | |
creates the AbstractCsvWriter More... | |
private string | dateFormat (int ix) |
format date to string by options. Priority: 1) column definition 2) standard format | |
private string | prepareRawLine (list values) |
Prepare a string (line with EOF) with formatting and escaping. More... | |
write (AbstractIterator iterator) | |
stream iterator into the file. More... | |
writeLine (list values) | |
write a line with list of values. Data are checked against column rules. More... | |
writeLine (hash values) | |
write a line with headers-values hash More... | |
abstract private | writeRawLine (list values) |
real write implementation. Without any checking. | |
Private Attributes | |
const | Options |
valid options for the object (a hash for quick lookups of valid keys) | |
Additional Inherited Members | |
![]() | |
private | setFields () |
sets field description list | |
the AbstractCsvWriter class provides a parent for all CSV writers
Any inherited class has to implement pure virtual (abstract) method, where should be the real physical write action placed.
The AbstractCsvWriter class constructor takes an optional hash with possible keys given in the following table. Note that key names are case-sensitive, and data types are soft (conversions are made when possible).
AbstractCsvWriter Options
Option | Data Type | Description |
"encoding" | String | the character encoding for the file (and for tagging string data read); if the value of this key is not a string then it will be ignored |
"separator" | String | the string separating the fields in the file (default: "," ) |
"quote" | String | the field quote character (default: '"' ) |
"eol" | String | the end of line character(s) (default: auto-detect); if the value of this key is not a string then it will be ignored |
"headers" | List of strings | list of header / column names for the data iterated |
"verify-columns" | Boolean | if True (the default is False) then if a line is parsed with a different column count than other lines, a CSVFILEWRITER-DATA-ERROR exception is thrown |
"date-format" | String | the default mask for date values formatting |
creates the AbstractCsvWriter
errname | a string to construct child class error message. For example: value 'FOO' will result in exception names 'CSVFOOWRITER-ERROR' |
opts | AbstractCsvWriter Constructor Option Hash Overview |
CSV<errname>ITER-ERROR | in the case of incorrect options |
Prepare a string (line with EOF) with formatting and escaping.
values | a list with values |
CsvUtil::AbstractCsvWriter::write | ( | AbstractIterator | iterator | ) |
stream iterator into the file.
iterator | an iterator to stream data into file |
The iterator has to contain List or Hash as a return value of getValue()
method.
CSVFILEWRITER-DATA-ERROR | when the data does not fit defined column constraints or when getValue does not return list or hash |
CsvUtil::AbstractCsvWriter::writeLine | ( | list | values | ) |
write a line with list of values. Data are checked against column rules.
values | a list with values |
CSVFILEWRITER-DATA-ERROR | when the data does not fit defined column constraints |
CsvUtil::AbstractCsvWriter::writeLine | ( | hash | values | ) |
write a line with headers-values hash
values | a hash with keys as column headers. |
CSVFILEWRITER-DATA-ERROR | when the data does not fit defined column constraints |