Package tech.tablesaw.io.csv
Class CsvReadOptions.Builder
- java.lang.Object
-
- tech.tablesaw.io.ReadOptions.Builder
-
- tech.tablesaw.io.csv.CsvReadOptions.Builder
-
- Enclosing class:
- CsvReadOptions
public static class CsvReadOptions.Builder extends ReadOptions.Builder
-
-
Field Summary
-
Fields inherited from class tech.tablesaw.io.ReadOptions.Builder
columnTypeFunction, columnTypeMap, columnTypes, columnTypesToDetect, completeColumnTypeFunction, dateFormat, dateFormatter, dateTimeFormat, dateTimeFormatter, header, ignoreZeroDecimal, locale, maxCharsPerColumn, minimizeColumnSizes, missingValueIndicators, sample, skipRowsWithInvalidColumnCount, source, tableName, timeFormat, timeFormatter
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CsvReadOptions.Builder
allowDuplicateColumnNames(Boolean allow)
Enable reading of a table with duplicate column names.CsvReadOptions
build()
CsvReadOptions.Builder
columnTypes(Function<String,ColumnType> columnTypeFunction)
Provide a function that determines ColumnType for all column names.CsvReadOptions.Builder
columnTypes(ColumnType[] columnTypes)
Provide column types for all columns skipping autodetect column type logic.CsvReadOptions.Builder
columnTypesPartial(Function<String,Optional<ColumnType>> columnTypeFunction)
Provide a function that determines ColumnType for some column names.CsvReadOptions.Builder
columnTypesPartial(Map<String,ColumnType> columnTypeByName)
Provide a map that determines ColumnType for given column names.CsvReadOptions.Builder
columnTypesToDetect(List<ColumnType> columnTypesToDetect)
CsvReadOptions.Builder
commentPrefix(Character commentPrefix)
CsvReadOptions.Builder
dateFormat(DateTimeFormatter dateFormat)
CsvReadOptions.Builder
dateTimeFormat(DateTimeFormatter dateTimeFormat)
CsvReadOptions.Builder
escapeChar(Character escapeChar)
CsvReadOptions.Builder
header(boolean header)
CsvReadOptions.Builder
ignoreZeroDecimal(boolean ignoreZeroDecimal)
Ignore zero value decimals in data values.CsvReadOptions.Builder
lineEnding(String lineEnding)
CsvReadOptions.Builder
locale(Locale locale)
CsvReadOptions.Builder
maxCharsPerColumn(int maxCharsPerColumn)
CsvReadOptions.Builder
maxNumberOfColumns(Integer maxNumberOfColumns)
Defines maximal value of columns in csv file.CsvReadOptions.Builder
minimizeColumnSizes()
Allow theColumnTypeDetector
to choose shorter column types such as float instead of double when the data will fit in a smaller typeCsvReadOptions.Builder
missingValueIndicator(String... missingValueIndicators)
CsvReadOptions.Builder
quoteChar(Character quoteChar)
CsvReadOptions.Builder
sample(boolean sample)
CsvReadOptions.Builder
sampleSize(int numSamples)
Defines the maximum number of rows to be read from the file.CsvReadOptions.Builder
separator(Character separator)
CsvReadOptions.Builder
skipRowsWithInvalidColumnCount(boolean skipRowsWithInvalidColumnCount)
Skip the rows with invalid column count in data values.CsvReadOptions.Builder
tableName(String tableName)
CsvReadOptions.Builder
timeFormat(DateTimeFormatter timeFormat)
-
-
-
Constructor Detail
-
Builder
protected Builder(Source source)
-
Builder
protected Builder(URL url) throws IOException
- Throws:
IOException
-
Builder
protected Builder(File file)
-
Builder
protected Builder(InputStreamReader reader)
-
Builder
protected Builder(Reader reader)
-
Builder
protected Builder(InputStream stream)
-
-
Method Detail
-
columnTypes
public CsvReadOptions.Builder columnTypes(ColumnType[] columnTypes)
Description copied from class:ReadOptions.Builder
Provide column types for all columns skipping autodetect column type logic. The array must contain a ColumnType for each column in the table. An error will be thrown if they don't match up- Overrides:
columnTypes
in classReadOptions.Builder
-
columnTypes
public CsvReadOptions.Builder columnTypes(Function<String,ColumnType> columnTypeFunction)
Description copied from class:ReadOptions.Builder
Provide a function that determines ColumnType for all column names. To provide only for some useReadOptions.Builder.columnTypesPartial(Function)
This method is generally more efficient because it skips column type detection
- Overrides:
columnTypes
in classReadOptions.Builder
-
columnTypesPartial
public CsvReadOptions.Builder columnTypesPartial(Function<String,Optional<ColumnType>> columnTypeFunction)
Description copied from class:ReadOptions.Builder
Provide a function that determines ColumnType for some column names. To provide for all column names useReadOptions.Builder.columnTypes(Function)
that generally is more efficient because it skips column type detection- Overrides:
columnTypesPartial
in classReadOptions.Builder
-
columnTypesPartial
public CsvReadOptions.Builder columnTypesPartial(Map<String,ColumnType> columnTypeByName)
Description copied from class:ReadOptions.Builder
Provide a map that determines ColumnType for given column names. Types for not present column names will be autodetected. To provide type for all column names useReadOptions.Builder.columnTypes(Function)
that generally is more efficient because it skips column type detection- Overrides:
columnTypesPartial
in classReadOptions.Builder
-
separator
public CsvReadOptions.Builder separator(Character separator)
-
quoteChar
public CsvReadOptions.Builder quoteChar(Character quoteChar)
-
escapeChar
public CsvReadOptions.Builder escapeChar(Character escapeChar)
-
lineEnding
public CsvReadOptions.Builder lineEnding(String lineEnding)
-
maxNumberOfColumns
public CsvReadOptions.Builder maxNumberOfColumns(Integer maxNumberOfColumns)
Defines maximal value of columns in csv file.- Parameters:
maxNumberOfColumns
- - must be positive integer. Default is 10,000
-
commentPrefix
public CsvReadOptions.Builder commentPrefix(Character commentPrefix)
-
sampleSize
public CsvReadOptions.Builder sampleSize(int numSamples)
Defines the maximum number of rows to be read from the file. Sampling is performed in a single pass using the reservoir sampling algorithm (https://en.wikipedia.org/wiki/Reservoir_sampling). Given a file with 'n' rows, if 'numSamples is smaller than 'n', than exactly 'numSamples' random samples are returned; if 'numSamples' is greater than 'n', then only 'n' samples are returned (no oversampling is performed to increase the data to match 'numSamples').
-
build
public CsvReadOptions build()
- Overrides:
build
in classReadOptions.Builder
-
header
public CsvReadOptions.Builder header(boolean header)
- Overrides:
header
in classReadOptions.Builder
-
allowDuplicateColumnNames
public CsvReadOptions.Builder allowDuplicateColumnNames(Boolean allow)
Enable reading of a table with duplicate column names. After the first appearance of a column name, subsequent appearances will have a number appended.- Overrides:
allowDuplicateColumnNames
in classReadOptions.Builder
- Parameters:
allow
- if true, duplicate names will be allowed
-
columnTypesToDetect
public CsvReadOptions.Builder columnTypesToDetect(List<ColumnType> columnTypesToDetect)
- Overrides:
columnTypesToDetect
in classReadOptions.Builder
- See Also:
ColumnTypeDetector
-
tableName
public CsvReadOptions.Builder tableName(String tableName)
- Overrides:
tableName
in classReadOptions.Builder
-
sample
public CsvReadOptions.Builder sample(boolean sample)
- Overrides:
sample
in classReadOptions.Builder
-
dateFormat
public CsvReadOptions.Builder dateFormat(DateTimeFormatter dateFormat)
- Overrides:
dateFormat
in classReadOptions.Builder
-
timeFormat
public CsvReadOptions.Builder timeFormat(DateTimeFormatter timeFormat)
- Overrides:
timeFormat
in classReadOptions.Builder
-
dateTimeFormat
public CsvReadOptions.Builder dateTimeFormat(DateTimeFormatter dateTimeFormat)
- Overrides:
dateTimeFormat
in classReadOptions.Builder
-
maxCharsPerColumn
public CsvReadOptions.Builder maxCharsPerColumn(int maxCharsPerColumn)
- Overrides:
maxCharsPerColumn
in classReadOptions.Builder
-
locale
public CsvReadOptions.Builder locale(Locale locale)
- Overrides:
locale
in classReadOptions.Builder
-
missingValueIndicator
public CsvReadOptions.Builder missingValueIndicator(String... missingValueIndicators)
- Overrides:
missingValueIndicator
in classReadOptions.Builder
-
minimizeColumnSizes
public CsvReadOptions.Builder minimizeColumnSizes()
Description copied from class:ReadOptions.Builder
Allow theColumnTypeDetector
to choose shorter column types such as float instead of double when the data will fit in a smaller type- Overrides:
minimizeColumnSizes
in classReadOptions.Builder
-
ignoreZeroDecimal
public CsvReadOptions.Builder ignoreZeroDecimal(boolean ignoreZeroDecimal)
Description copied from class:ReadOptions.Builder
Ignore zero value decimals in data values. Defaults totrue
.- Overrides:
ignoreZeroDecimal
in classReadOptions.Builder
-
skipRowsWithInvalidColumnCount
public CsvReadOptions.Builder skipRowsWithInvalidColumnCount(boolean skipRowsWithInvalidColumnCount)
Description copied from class:ReadOptions.Builder
Skip the rows with invalid column count in data values. Defaluts tofalse
.- Overrides:
skipRowsWithInvalidColumnCount
in classReadOptions.Builder
-
-