Loading...
Searching...
No Matches
CsvUtil::CsvFileWriter Class Reference

The CsvFileWriter class for safe CSV file creation. More...

`#include <CsvFileWriter.qc.dox.h>`

Inheritance diagram for CsvUtil::CsvFileWriter:
[legend]

## Public Member Functions

| constructor (string path, *hash< auto > opts)
| creates the CsvFileWriter in single-type mode with the path of the file to create and an optional option hash
| constructor (string path, hash< auto > spec, hash< auto > opts)
| creates the CsvFileWriter in multi-type mode with the path of the file to create and an optional option hash
string | getFileName ()
| returns the output file path
Public Member Functions inherited from CsvUtil::AbstractCsvWriter
| constructor (string n_errname, *hash< auto > n_opts)
| Creates the AbstractCsvWriter in single-type mode.
| constructor (string n_errname, hash< auto > spec, hash< auto > n_opts)
| Creates the AbstractCsvWriter in single-type mode.
*hash< string, AbstractDataField > | getRecordType ()
| Returns the description of the record type, if any.
| write (list< auto > l)
| Stream the contents of the list into the output.
| write (Qore::AbstractIterator iterator)
| Stream an iterator into the output.
| write (Qore::SQL::SQLStatement iterator)
| Stream an iterator into the output.
| writeLine (hash< auto > values)
| Write a line with headers-values hash.
| writeLine (list< auto > values)
| Write a line with a list of values; data are checked against column rules.
| writeLine (string type, hash< auto > values)
| Write a line for a specific record from a hash to the output.
| writeLine (string type, list< auto > values)
| Write a line with headers-values list.

## Protected Attributes

Qore::File | file
| the file to write
Protected Attributes inherited from CsvUtil::AbstractCsvWriter
string | baseTemplate
| base template for value format
int | block = 1000
| block size for bulk DML
bool | checkElementCounts = False
| verify the column count for every row; if a row does not match, then throw a `CSVFILEITERATOR-DATA-ERROR` exception
string | encoding
| output file character encoding
string | eol = EOL_UNIX
| end of line sequence
*code | info_log
| a closure/call reference for informational logging when using write(SQLStatement)
int | lineNo = 0
| the latest line number
hash | m_out_by_idx
| mapping output field by index
hash | m_out_by_name
| mapping output field by name
string | m_quoteEscapeChar = "\\"
| quote escape character
bool | optimal_quotes = True
| stores the optimal quotes option
const | Options = ...
| valid options for the object (a hash for quick lookups of valid keys)
string | quote = "\""
| field content delimiter
string | separator = ","
| field separator
bool | write_headers = True
| this flag determines if any stored headers are output

## Additional Inherited Members

Protected Member Functions inherited from CsvUtil::AbstractCsvWriter
string | prepareRawLine (list< auto > values)
| Prepare a string (line with EOF) with formatting and escaping.
| processCommonOptions (*hash< auto > n_opts, int C_OPTx)
| Process options and set internal variables.
| processSpec ()
| Process specification and set internal variable for mapping.
| writeHeaders ()
| Write csv headers.
abstract | writeRawLine (list< auto > values)
| This method must be overridden in child classes to provide the output implementation.

## Detailed Description

The CsvFileWriter class for safe CSV file creation.

See also
  - CsvWriter for a stream-based class providing the same functionality as this class in a more generic way

## Member Function Documentation

## constructor() [1/2]

CsvUtil::CsvFileWriter::constructor | ( | string | path,
|  | *hash< auto > | opts )

creates the CsvFileWriter in single-type mode with the path of the file to create and an optional option hash

Parameters

  path | a file name (with path optionally) to write
  opts | AbstractCsvWriter Constructor Option Hash Overview

The file is created with O_CREAT, O_TRUNC, O_WRONLY and `0644` access.

Exceptions

  CSVFILEITER-ERROR | in the case of incorrect options

## constructor() [2/2]

CsvUtil::CsvFileWriter::constructor | ( | string | path,
|  | hash< auto > | spec,
|  | hash< auto > | opts )

creates the CsvFileWriter in multi-type mode with the path of the file to create and an optional option hash

Parameters

  path | a file name (with path optionally) to write
  spec | a hash of field and type definition; see Option Field Hash for more information
  opts | AbstractCsvWriter Constructor Option Hash Overview

The file is created with O_CREAT, O_TRUNC, O_WRONLY and `0644` access.

Exceptions

  CSVFILEITER-ERROR | in the case of incorrect options

## getFileName()

string CsvUtil::CsvFileWriter::getFileName | ( |  | ) |

returns the output file path

Returns
  the output file path

Since
  CsvUtil 1.7