weka.core.converters

## Class CSVSaver

- java.lang.Object
- - weka.core.converters.AbstractSaver
  - - weka.core.converters.AbstractFileSaver
    - - weka.core.converters.CSVSaver

- All Implemented Interfaces:
    java.io.Serializable, CapabilitiesHandler, CapabilitiesIgnorer, BatchConverter, FileSourcedConverter, IncrementalConverter, Saver, EnvironmentHandler, OptionHandler, RevisionHandler

      public class CSVSaver
      extends AbstractFileSaver
      implements BatchConverter, IncrementalConverter, FileSourcedConverter

  Writes to a destination that is in CSV (comma-separated values) format. The column separator can be chosen (default is ',') as well as the value representing missing values (default is '?').

  Valid options are:

       -F <separator>
        The field separator to be used.
        '\t' can be used as well.
        (default: ',')

       -M <str>
        The string representing a missing value.
        (default: ?)

       -N
        Don't write a header row.

       -decimal <num>
        The maximum number of digits to print after the decimal
        place for numeric values (default: 6)

       -i <the input file>
        The input file

       -o <the output file>
        The output file

  Version:
    $Revision: 10203 $
  Author:
    Stefan Mutter (mutter@cs.waikato.ac.nz)
  See Also:
    `Saver`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from interface weka.core.converters.Saver

      `BATCH, INCREMENTAL, NONE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CSVSaver()` Constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `fieldSeparatorTipText()` Returns the tip text for this property.
    `Capabilities` | `getCapabilities()` Returns the Capabilities of this saver.
    `java.lang.String` | `getFieldSeparator()` Returns the character used as column separator.
    `java.lang.String` | `getFileDescription()` Returns a description of the file type.
    `int` | `getMaxDecimalPlaces()` Get the maximum number of decimal places to print
    `java.lang.String` | `getMissingValue()` Returns the current placeholder for missing values.
    `boolean` | `getNoHeaderRow()` Get whether to not write the header row
    `java.lang.String[]` | `getOptions()` Gets the current settings of the Classifier.
    `java.lang.String` | `getRevision()` Returns the revision string.
    `java.lang.String` | `globalInfo()` Returns a string describing this Saver.
    `java.util.Enumeration<Option>` | `listOptions()` Returns an enumeration describing the available options.
    `static void` | `main(java.lang.String[] args)` Main method.
    `java.lang.String` | `maxDecimalPlacesTipText()` Returns the tip text for this property.
    `java.lang.String` | `missingValueTipText()` Returns the tip text for this property.
    `java.lang.String` | `noHeaderRowTipText()` Returns the tip text for this property.
    `void` | `resetOptions()` Resets the Saver.
    `void` | `setFieldSeparator(java.lang.String value)` Sets the character used as column separator.
    `void` | `setMaxDecimalPlaces(int maxDecimal)` Set the maximum number of decimal places to print
    `void` | `setMissingValue(java.lang.String value)` Sets the placeholder for missing values.
    `void` | `setNoHeaderRow(boolean b)` Set whether to not write the header row
    `void` | `setOptions(java.lang.String[] options)` Valid options are:
    `void` | `writeBatch()` Writes a Batch of instances.
    `void` | `writeIncremental(Instance inst)` Saves an instances incrementally.

    - ### Methods inherited from class weka.core.converters.AbstractFileSaver

      `cancel, filePrefix, getFileExtension, getFileExtensions, getUseRelativePath, getWriter, resetWriter, retrieveDir, retrieveFile, runFileSaver, setDestination, setDestination, setDir, setDirAndPrefix, setEnvironment, setFile, setFilePrefix, setUseRelativePath, useRelativePathTipText`

    - ### Methods inherited from class weka.core.converters.AbstractSaver

      `doNotCheckCapabilitiesTipText, getDoNotCheckCapabilities, getInstances, getWriteMode, resetStructure, setDoNotCheckCapabilities, setInstances, setRetrieval, setStructure`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface weka.core.converters.FileSourcedConverter

      `getFileExtension, getFileExtensions, getUseRelativePath, retrieveFile, setFile, setUseRelativePath`

- - ### Constructor Detail

    - #### CSVSaver

          public CSVSaver()

      Constructor.

  - ### Method Detail

    - #### globalInfo

          public java.lang.String globalInfo()

      Returns a string describing this Saver.
      Returns:
        a description of the Saver suitable for displaying in the explorer/experimenter gui

    - #### listOptions

          public java.util.Enumeration<Option> listOptions()

      Returns an enumeration describing the available options.
      Specified by:
        `listOptions` in interface `OptionHandler`
      Overrides:
        `listOptions` in class `AbstractFileSaver`
      Returns:
        an enumeration of all the available options.

    - #### setOptions

          public void setOptions(java.lang.String[] options)
                          throws java.lang.Exception

      Valid options are:

           -F <separator>
            The field separator to be used.
            '\t' can be used as well.
            (default: ',')

           -M <str>
            The string representing a missing value.
            (default: ?)

           -N
            Don't write a header row.

           -decimal <num>
            The maximum number of digits to print after the decimal
            place for numeric values (default: 6)

           -i <the input file>
            The input file

           -o <the output file>
            The output file

      Specified by:
        `setOptions` in interface `OptionHandler`
      Overrides:
        `setOptions` in class `AbstractFileSaver`
      Parameters:
        `options` - the list of options as an array of strings
      Throws:
        `java.lang.Exception` - if an option is not supported

    - #### getOptions

          public java.lang.String[] getOptions()

      Gets the current settings of the Classifier.
      Specified by:
        `getOptions` in interface `OptionHandler`
      Overrides:
        `getOptions` in class `AbstractFileSaver`
      Returns:
        an array of strings suitable for passing to setOptions

    - #### noHeaderRowTipText

          public java.lang.String noHeaderRowTipText()

      Returns the tip text for this property.
      Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui

    - #### setNoHeaderRow

          public void setNoHeaderRow(boolean b)

      Set whether to not write the header row
      Parameters:
        `b` - true if no header row is to be written

    - #### getNoHeaderRow

          public boolean getNoHeaderRow()

      Get whether to not write the header row
      Returns:
        true if no header row is to be written

    - #### setMaxDecimalPlaces

          public void setMaxDecimalPlaces(int maxDecimal)

      Set the maximum number of decimal places to print
      Parameters:
        `maxDecimal` - the maximum number of decimal places to print

    - #### getMaxDecimalPlaces

          public int getMaxDecimalPlaces()

      Get the maximum number of decimal places to print
      Returns:
        the maximum number of decimal places to print

    - #### maxDecimalPlacesTipText

          public java.lang.String maxDecimalPlacesTipText()

      Returns the tip text for this property.
      Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui

    - #### setFieldSeparator

          public void setFieldSeparator(java.lang.String value)

      Sets the character used as column separator.
      Parameters:
        `value` - the character to use

    - #### getFieldSeparator

          public java.lang.String getFieldSeparator()

      Returns the character used as column separator.
      Returns:
        the character to use

    - #### fieldSeparatorTipText

          public java.lang.String fieldSeparatorTipText()

      Returns the tip text for this property.
      Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui

    - #### setMissingValue

          public void setMissingValue(java.lang.String value)

      Sets the placeholder for missing values.
      Parameters:
        `value` - the placeholder

    - #### getMissingValue

          public java.lang.String getMissingValue()

      Returns the current placeholder for missing values.
      Returns:
        the placeholder

    - #### missingValueTipText

          public java.lang.String missingValueTipText()

      Returns the tip text for this property.
      Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui

    - #### getFileDescription

          public java.lang.String getFileDescription()

      Returns a description of the file type.
      Specified by:
        `getFileDescription` in interface `FileSourcedConverter`
      Specified by:
        `getFileDescription` in class `AbstractFileSaver`
      Returns:
        a short file description

    - #### resetOptions

          public void resetOptions()

      Resets the Saver.
      Overrides:
        `resetOptions` in class `AbstractFileSaver`

    - #### getCapabilities

          public Capabilities getCapabilities()

      Returns the Capabilities of this saver.
      Specified by:
        `getCapabilities` in interface `CapabilitiesHandler`
      Overrides:
        `getCapabilities` in class `AbstractSaver`
      Returns:
        the capabilities of this object
      See Also:
        `Capabilities`

    - #### writeIncremental

          public void writeIncremental(Instance inst)
                                throws java.io.IOException

      Saves an instances incrementally. Structure has to be set by using the setStructure() method or setInstances() method.
      Specified by:
        `writeIncremental` in interface `Saver`
      Overrides:
        `writeIncremental` in class `AbstractSaver`
      Parameters:
        `inst` - the instance to save
      Throws:
        `java.io.IOException` - throws IOEXception if an instance cannot be saved incrementally.

    - #### writeBatch

          public void writeBatch()
                          throws java.io.IOException

      Writes a Batch of instances.
      Specified by:
        `writeBatch` in interface `Saver`
      Specified by:
        `writeBatch` in class `AbstractSaver`
      Throws:
        `java.io.IOException` - throws IOException if saving in batch mode is not possible

    - #### getRevision

          public java.lang.String getRevision()

      Returns the revision string.
      Specified by:
        `getRevision` in interface `RevisionHandler`
      Returns:
        the revision

    - #### main

          public static void main(java.lang.String[] args)

      Main method.
      Parameters:
        `args` - should contain the options of a Saver.