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.BuilderallowDuplicateColumnNames(Boolean allow)Enable reading of a table with duplicate column names.CsvReadOptionsbuild()CsvReadOptions.BuildercolumnTypes(Function<String,ColumnType> columnTypeFunction)Provide a function that determines ColumnType for all column names.CsvReadOptions.BuildercolumnTypes(ColumnType[] columnTypes)Provide column types for all columns skipping autodetect column type logic.CsvReadOptions.BuildercolumnTypesPartial(Function<String,Optional<ColumnType>> columnTypeFunction)Provide a function that determines ColumnType for some column names.CsvReadOptions.BuildercolumnTypesPartial(Map<String,ColumnType> columnTypeByName)Provide a map that determines ColumnType for given column names.CsvReadOptions.BuildercolumnTypesToDetect(List<ColumnType> columnTypesToDetect)CsvReadOptions.BuildercommentPrefix(Character commentPrefix)CsvReadOptions.BuilderdateFormat(DateTimeFormatter dateFormat)CsvReadOptions.BuilderdateTimeFormat(DateTimeFormatter dateTimeFormat)CsvReadOptions.BuilderescapeChar(Character escapeChar)CsvReadOptions.Builderheader(boolean header)CsvReadOptions.BuilderignoreZeroDecimal(boolean ignoreZeroDecimal)Ignore zero value decimals in data values.CsvReadOptions.BuilderlineEnding(String lineEnding)CsvReadOptions.Builderlocale(Locale locale)CsvReadOptions.BuildermaxCharsPerColumn(int maxCharsPerColumn)CsvReadOptions.BuildermaxNumberOfColumns(Integer maxNumberOfColumns)Defines maximal value of columns in csv file.CsvReadOptions.BuilderminimizeColumnSizes()Allow theColumnTypeDetectorto choose shorter column types such as float instead of double when the data will fit in a smaller typeCsvReadOptions.BuildermissingValueIndicator(String... missingValueIndicators)CsvReadOptions.BuilderquoteChar(Character quoteChar)CsvReadOptions.Buildersample(boolean sample)CsvReadOptions.BuildersampleSize(int numSamples)Defines the maximum number of rows to be read from the file.CsvReadOptions.Builderseparator(Character separator)CsvReadOptions.BuilderskipRowsWithInvalidColumnCount(boolean skipRowsWithInvalidColumnCount)Skip the rows with invalid column count in data values.CsvReadOptions.BuildertableName(String tableName)CsvReadOptions.BuildertimeFormat(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.BuilderProvide 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:
columnTypesin classReadOptions.Builder
-
columnTypes
public CsvReadOptions.Builder columnTypes(Function<String,ColumnType> columnTypeFunction)
Description copied from class:ReadOptions.BuilderProvide 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:
columnTypesin classReadOptions.Builder
-
columnTypesPartial
public CsvReadOptions.Builder columnTypesPartial(Function<String,Optional<ColumnType>> columnTypeFunction)
Description copied from class:ReadOptions.BuilderProvide 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:
columnTypesPartialin classReadOptions.Builder
-
columnTypesPartial
public CsvReadOptions.Builder columnTypesPartial(Map<String,ColumnType> columnTypeByName)
Description copied from class:ReadOptions.BuilderProvide 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:
columnTypesPartialin 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:
buildin classReadOptions.Builder
-
header
public CsvReadOptions.Builder header(boolean header)
- Overrides:
headerin 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:
allowDuplicateColumnNamesin classReadOptions.Builder- Parameters:
allow- if true, duplicate names will be allowed
-
columnTypesToDetect
public CsvReadOptions.Builder columnTypesToDetect(List<ColumnType> columnTypesToDetect)
- Overrides:
columnTypesToDetectin classReadOptions.Builder- See Also:
ColumnTypeDetector
-
tableName
public CsvReadOptions.Builder tableName(String tableName)
- Overrides:
tableNamein classReadOptions.Builder
-
sample
public CsvReadOptions.Builder sample(boolean sample)
- Overrides:
samplein classReadOptions.Builder
-
dateFormat
public CsvReadOptions.Builder dateFormat(DateTimeFormatter dateFormat)
- Overrides:
dateFormatin classReadOptions.Builder
-
timeFormat
public CsvReadOptions.Builder timeFormat(DateTimeFormatter timeFormat)
- Overrides:
timeFormatin classReadOptions.Builder
-
dateTimeFormat
public CsvReadOptions.Builder dateTimeFormat(DateTimeFormatter dateTimeFormat)
- Overrides:
dateTimeFormatin classReadOptions.Builder
-
maxCharsPerColumn
public CsvReadOptions.Builder maxCharsPerColumn(int maxCharsPerColumn)
- Overrides:
maxCharsPerColumnin classReadOptions.Builder
-
locale
public CsvReadOptions.Builder locale(Locale locale)
- Overrides:
localein classReadOptions.Builder
-
missingValueIndicator
public CsvReadOptions.Builder missingValueIndicator(String... missingValueIndicators)
- Overrides:
missingValueIndicatorin classReadOptions.Builder
-
minimizeColumnSizes
public CsvReadOptions.Builder minimizeColumnSizes()
Description copied from class:ReadOptions.BuilderAllow theColumnTypeDetectorto choose shorter column types such as float instead of double when the data will fit in a smaller type- Overrides:
minimizeColumnSizesin classReadOptions.Builder
-
ignoreZeroDecimal
public CsvReadOptions.Builder ignoreZeroDecimal(boolean ignoreZeroDecimal)
Description copied from class:ReadOptions.BuilderIgnore zero value decimals in data values. Defaults totrue.- Overrides:
ignoreZeroDecimalin classReadOptions.Builder
-
skipRowsWithInvalidColumnCount
public CsvReadOptions.Builder skipRowsWithInvalidColumnCount(boolean skipRowsWithInvalidColumnCount)
Description copied from class:ReadOptions.BuilderSkip the rows with invalid column count in data values. Defaults tofalse.- Overrides:
skipRowsWithInvalidColumnCountin classReadOptions.Builder
-
-