@Immutable public class CsvReader extends FileReader implements DataReader<CsvReadOptions>
Constructor and Description |
---|
CsvReader()
Constructs a CsvReader
|
Modifier and Type | Method and Description |
---|---|
protected ColumnType[] |
detectColumnTypes(Reader reader,
CsvReadOptions options)
Estimates and returns the type for each column in the delimited text file
file |
String |
printColumnTypes(CsvReadOptions options)
Returns a string representation of the column types in file
csvFilename , as determined
by the type-detection algorithm |
Table |
read(CsvReadOptions options) |
Table |
read(Source source) |
static void |
register(ReaderRegistry registry) |
getTypes, getTypeString, parseRows
public static void register(ReaderRegistry registry)
public Table read(CsvReadOptions options) throws IOException
read
in interface DataReader<CsvReadOptions>
IOException
public String printColumnTypes(CsvReadOptions options) throws IOException
csvFilename
, as determined
by the type-detection algorithm
This method is intended to help analysts quickly fix any erroneous types, by printing out the types in a format such that they can be edited to correct any mistakes, and used in an array literal
For example:
LOCAL_DATE, // 0 date SHORT, // 1 approval STRING, // 2 who
Note that the types are array separated, and that the index position and the column name are printed such that they would be interpreted as comments if you paste the output into an array:
IOException
- if file cannot be readprotected ColumnType[] detectColumnTypes(Reader reader, CsvReadOptions options)
file
The type is determined by checking a sample of the data in the file. Because only a sample of the data is checked, the types may be incorrect. If that is the case a Parse Exception will be thrown.
The method printColumnTypes()
can be used to print a list of the detected columns
that can be corrected and used to explicitly specify the correct column types.
public Table read(Source source) throws IOException
read
in interface DataReader<CsvReadOptions>
IOException
Copyright © 2019. All rights reserved.