/** * {@inheritDoc} */ @Override protected void configureParserSettings(CsvParserSettings settings) { super.configureParserSettings(settings); if (emptyValue != null) { settings.setEmptyValue(emptyValue); } }
public static void main(String ... args){ String input = "Header1,Header2,Header3\n" + "\"\",,\"L1C3\""; CsvParserSettings settings = new CsvParserSettings(); //many options here, check the tutorial. settings.setEmptyValue("I'm empty"); //value to use when the parser finds "". Set to "" to get an empty String. settings.setNullValue("I'm null"); //value to use when the parser finds a null value (i.e. ,,). CsvParser parser = new CsvParser(settings); List<String[]> allRows = parser.parseAll(new StringReader(input)); for(String[] row : allRows){ System.out.println(Arrays.toString(row)); } }
public static CsvParserSettings extractCsvParserSettings(Configuration job) { CsvParserSettings parserSettings = new CsvParserSettings(); parserSettings.getFormat().setDelimiter(job.get(DELIMITER, DELIMITER_DEFAULT).charAt(0)); parserSettings.getFormat().setComment(job.get(COMMENT, COMMENT_DEFAULT).charAt(0)); parserSettings.setLineSeparatorDetectionEnabled(true); parserSettings.setNullValue(""); parserSettings.setEmptyValue(""); parserSettings.setIgnoreLeadingWhitespaces(false); parserSettings.setIgnoreTrailingWhitespaces(false); parserSettings.setSkipEmptyLines( Boolean.valueOf(job.get(SKIP_EMPTY_LINE, CarbonCommonConstants.CARBON_SKIP_EMPTY_LINE_DEFAULT))); // todo: will verify whether there is a performance degrade using -1 here // parserSettings.setMaxCharsPerColumn(CarbonCommonConstants.MAX_CHARS_PER_COLUMN_DEFAULT); parserSettings.setMaxCharsPerColumn(CarbonCommonConstants.MAX_CHARS_PER_COLUMN_INFINITY); String maxColumns = job.get(MAX_COLUMNS, "" + DEFAULT_MAX_NUMBER_OF_COLUMNS_FOR_PARSING); parserSettings.setMaxColumns(Integer.parseInt(maxColumns)); parserSettings.getFormat().setQuote(job.get(QUOTE, QUOTE_DEFAULT).charAt(0)); parserSettings.getFormat().setQuoteEscape(job.get(ESCAPE, ESCAPE_DEFAULT).charAt(0)); // setting the content length to to limit the length of displayed contents being parsed/written // in the exception message when an error occurs. parserSettings.setErrorContentLength(CarbonCommonConstants.CARBON_ERROR_CONTENT_LENGTH); return parserSettings; }
private static CsvParser getParser(CsvFileLoader.Config config, int columnCount) { CsvParserSettings settings = new CsvParserSettings(); CsvFormat format = new CsvFormat(); format.setDelimiter(config.separator); settings.setFormat(format); settings.setIgnoreTrailingWhitespaces(true); settings.setEmptyValue(""); settings.setNullValue(null); settings.setReadInputOnSeparateThread(false); settings.setMaxColumns(columnCount); return(new CsvParser(settings)); }
settings.setFormat(format); settings.setIgnoreTrailingWhitespaces(true); settings.setEmptyValue(""); settings.setNullValue(null); settings.setReadInputOnSeparateThread(false);