adams.ml
Class CSVDataset

java.lang.Object
  extended by adams.ml.Dataset
      extended by adams.ml.CSVDataset
All Implemented Interfaces:
Serializable, Cloneable

public class CSVDataset
extends Dataset

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class adams.ml.Dataset
Dataset.DataRowIntegerComparable, Dataset.Mapping
 
Field Summary
protected  Hashtable<Integer,String> m_columnToName
           
protected  Hashtable<Integer,Vector<Integer>> m_index
           
protected  Hashtable<String,Integer> m_nameToColumn
           
 
Fields inherited from class adams.ml.Dataset
m_errors, m_Mapping, m_name, m_rows
 
Constructor Summary
CSVDataset()
           
 
Method Summary
protected  void addError(int row, String col)
           
protected  String[] breakUp(String line)
          Breaks up a line from a CSV file into its cells.
protected  boolean columnPresent(String name)
           
 CSVDataset dateMinMax(String columnname, BaseData.Date min, BaseData.Date max)
           
protected  Integer getColumn(String name)
           
protected  Vector<Integer> getFromIndex(Integer i)
           
 CSVDataset getWithIntValue(String columnname, Integer val)
           
 CSVDataset getWithStringValue(String columnname, String val)
           
protected  boolean hasColumn(String col)
           
 boolean loadCSV(Reader r)
           
protected  String readLine(BufferedReader r)
          Read a line, ensuring that a newline isn't within quotes.
protected  void renameColumn(String oldn, String newn)
           
 void requireDate(String columnname, String ps)
           
 void requireDouble(String columnname)
           
 void requireFloat(String columnname)
           
 void requireInteger(String columnname)
           
 void requireInteger(String[] columnnames)
           
 void requireInteger(String columnname, int value)
           
 void requireNotEmpty(String columnname)
           
 void requireNotEmpty(String[] columnnames)
           
 void requireString(String columnname, String value)
           
 void requireString(String columnname, String[] values)
           
 void requireTime(String columnname, String ps)
           
 void save(String string, String[] summariseHeader)
           
protected  void setColumn(int cn, String name)
           
protected  void setIndex(String columnname)
           
 String showErrors()
           
 Object[] toArray(String columnname)
           
 String toCSV(String[] columns, boolean showErrors)
           
protected  String unquote(String s)
          Unquotes the given string.
 
Methods inherited from class adams.ml.Dataset
add, addWithoutCheck, autoID, copy, count, empty, get, getArrayType, getDistinctStrings, getName, getSafe, getType, setMappingFromBaseData, setMappingFromDataRow, setName, setType, setType, sortIntegerField, summariseNumeric, summariseNumericBy, toString, use, useWithoutCheck
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_columnToName

protected Hashtable<Integer,String> m_columnToName

m_nameToColumn

protected Hashtable<String,Integer> m_nameToColumn

m_index

protected Hashtable<Integer,Vector<Integer>> m_index
Constructor Detail

CSVDataset

public CSVDataset()
Method Detail

hasColumn

protected boolean hasColumn(String col)

setIndex

protected void setIndex(String columnname)

toArray

public Object[] toArray(String columnname)

getFromIndex

protected Vector<Integer> getFromIndex(Integer i)

addError

protected void addError(int row,
                        String col)

setColumn

protected void setColumn(int cn,
                         String name)

columnPresent

protected boolean columnPresent(String name)

getColumn

protected Integer getColumn(String name)

renameColumn

protected void renameColumn(String oldn,
                            String newn)

unquote

protected String unquote(String s)
Unquotes the given string.

Parameters:
s - the string to unquote, if necessary
Returns:
the processed string

breakUp

protected String[] breakUp(String line)
Breaks up a line from a CSV file into its cells.

Parameters:
line - the row to break up
Returns:
the cells

readLine

protected String readLine(BufferedReader r)
Read a line, ensuring that a newline isn't within quotes. Look for single quote.

Parameters:
r - BufferedReader
Returns:
Line from file, including cr/lf if in quotes.

requireString

public void requireString(String columnname,
                          String value)

requireString

public void requireString(String columnname,
                          String[] values)

requireInteger

public void requireInteger(String[] columnnames)

requireNotEmpty

public void requireNotEmpty(String[] columnnames)

requireInteger

public void requireInteger(String columnname,
                           int value)

requireInteger

public void requireInteger(String columnname)

requireDouble

public void requireDouble(String columnname)

requireNotEmpty

public void requireNotEmpty(String columnname)

requireFloat

public void requireFloat(String columnname)

dateMinMax

public CSVDataset dateMinMax(String columnname,
                             BaseData.Date min,
                             BaseData.Date max)

getWithIntValue

public CSVDataset getWithIntValue(String columnname,
                                  Integer val)

getWithStringValue

public CSVDataset getWithStringValue(String columnname,
                                     String val)
Overrides:
getWithStringValue in class Dataset

requireDate

public void requireDate(String columnname,
                        String ps)

requireTime

public void requireTime(String columnname,
                        String ps)

showErrors

public String showErrors()

toCSV

public String toCSV(String[] columns,
                    boolean showErrors)

loadCSV

public boolean loadCSV(Reader r)

save

public void save(String string,
                 String[] summariseHeader)


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.