Refine search
private CsvParser csvParser(CsvReadOptions options) { CsvParserSettings settings = new CsvParserSettings(); settings.setFormat(csvFormat(options)); if (options.maxNumberOfColumns() != null) { settings.setMaxColumns(options.maxNumberOfColumns()); } return new CsvParser(settings); }
CsvParserSettings parserSettings = new CsvParserSettings(); parserSettings.getFormat().setLineSeparator("\n"); parserSettings.getFormat().setDelimiter('$'); parserSettings.setHeaderExtractionEnabled(true); // To get the values of all columns, use a column processor ColumnProcessor rowProcessor = new ColumnProcessor(); parserSettings.setRowProcessor(rowProcessor); CsvParser parser = new CsvParser(parserSettings); //This will kick in our column processor parser.parse(new FileReader("testing.cvs")); //Finally, we can get the column values: Map<String, List<String>> columnValues = rowProcessor.getColumnValuesAsMapOfNames();
CsvParserSettings settings = new CsvParserSettings(); parserSettings.selectFields("Foo", "Bar", "Blah"); // or if your file does not have a row with column headers, you can use indexes: parserSettings.selectIndexes(4, 20, 2); CsvParser parser = new CsvParser(settings); List<String[]> allRows = parser.parseAll(new FileReader(f));
CsvParserSettings settings = new CsvParserSettings(); //many options here, check the tutorial settings.getFormat().setComment('~'); // creates a CSV parser CsvParser parser = new CsvParser(settings); // parses all rows in one go. List<String[]> allRows = parser.parseAll(new FileReader(new File("/path/to/file.csv")));
public static void main(String[] args) throws IOException{ //creates a processor of java beans. BeanListProcessor<UserAttributeRecord> beanProcessor = new BeanListProcessor<UserAttributeRecord>(UserAttributeRecord.class); //then a settings object to configure the parser CsvParserSettings settings = new CsvParserSettings(); //many options here, check the tutorial //configures the parser to use the bean processor. settings.setRowProcessor(beanProcessor); //configures the input format. settings.setHeaders("userId", "attributeId", "rating", "timestamp", "email", "attributeDesc"); settings.getFormat().setLineSeparator("\n"); //creates a parser with your settings CsvParser parser = new CsvParser(settings); //parses everything. All rows are submitted to the row processor defined above parser.parseAll(new FileReader(new File("/path/to/file.csv"))); //here's your list of beans List<UserAttributeRecord> beans = beanProcessor.getBeans(); }
CsvParserSettings settings = new CsvParserSettings(); //processes only these two fields, all others are ignored parserSettings.selectFields("your_calendar_field", "your_other_field"); ObjectRowProcessor rowProcessor = new ObjectListRowProcessor(); //converts the content of "your_calendar_field" to a java.util.Calendar. rowProcessor.convertFields(Conversions.toCalendar("EEE MMM dd HH:mm:ss Z yyyy")).set("your_calendar_field"); //Creates a parser with the given settings CsvParser parser = new CsvParser(settings); parser.parse(new FileReader("your_input_file")); //returns all rows, ordered as defined in the field selection above, //with date Strings properly converted to Calendar. List<Object[]> parsedRows = rowProcessor.getRows();
CsvParserSettings settings = new CsvParserSettings(); settings.setMaxColumns(2000000); settings.selectIndexes(/*nothing here*/); settings.setColumnReorderingEnabled(false); settings.setRowProcessor(myDimensionProcessor); parser.parse(new FileReader(new File("c:/tmp/worldcitiespop.txt")));
private boolean parseFileByLine(String file, String encode, String split) { CsvParserSettings settings = new CsvParserSettings(); settings.setMaxColumns(65535); settings.setMaxCharsPerColumn(65535); settings.getFormat().setLineSeparator(loadData.getLineTerminatedBy()); settings.getFormat().setDelimiter(loadData.getFieldTerminatedBy().charAt(0)); if (loadData.getEnclose() != null) { settings.getFormat().setQuote(loadData.getEnclose().charAt(0)); settings.getFormat().setNormalizedNewline(loadData.getLineTerminatedBy().charAt(0)); settings.trimValues(false); CsvParser parser = new CsvParser(settings); InputStreamReader reader = null; FileInputStream fileInputStream = null; fileInputStream = new FileInputStream(file); reader = new InputStreamReader(fileInputStream, encode); parser.beginParsing(reader); String[] row = null; while ((row = parser.parseNext()) != null) { if (ignoreNumber == 0) { try {
try { file = this.getFileReader(); CsvParserSettings settings = new CsvParserSettings(); CsvFormat format = new CsvFormat(); format.setDelimiter(this.configuration.separator); settings.setFormat(format); settings.setIgnoreTrailingWhitespaces(true); settings.setEmptyValue(""); settings.setNullValue(null); settings.setReadInputOnSeparateThread(false); if (this.actualSchema != null) settings.setMaxColumns(this.actualSchema.getColumnCount()); else settings.setMaxColumns(50000); CsvParser reader = new CsvParser(settings); reader.beginParsing(file); String[] line = null; try { line = reader.parseNext(); } catch (Exception ex) { this.error(ex.getMessage());
FileValidationResponse isParsable = new FileValidationResponse(true); CsvParserSettings settings = new CsvParserSettings(); settings.getFormat().setLineSeparator(lineSep); settings.getFormat().setDelimiter(delimiter.charAt(0)); settings.setHeaderExtractionEnabled(firstHeaderRow); settings.setProcessor(rowProcessor); CsvParser parser = new CsvParser(settings); parser.beginParsing(targetFile); String[] headers = parser.getContext().headers(); String[] row; int i = 0;
public <T> List<T> getRows(String lineSep, String delimiter, CsvRowMapper<T> rowMapper) { CsvParserSettings settings = new CsvParserSettings(); settings.getFormat().setLineSeparator(lineSep); settings.getFormat().setDelimiter(delimiter.charAt(0)); RowListProcessor rowProcessor = new RowListProcessor(); settings.setProcessor(rowProcessor); CsvParser parser = new CsvParser(settings); parser.beginParsing(targetFile); List<T> rows = new ArrayList<>(); String[] row; int rowNumber = 1; while ((row = parser.parseNext()) != null) { T mappedRow = rowMapper.mapRow(rowNumber, row); if(mappedRow != null) { rows.add(rowMapper.mapRow(rowNumber, row)); } rowNumber++; } parser.stopParsing(); return rows; }
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)); }
private Iterable<Record> getItererableCsv(String source, LogicalSource logicalSource) { CsvParserSettings settings = new CsvParserSettings(); settings.setHeaderExtractionEnabled(true); settings.setLineSeparatorDetectionEnabled(true); settings.setDelimiterDetectionEnabled(true); settings.setReadInputOnSeparateThread(true); CsvParser parser = new CsvParser(settings); return parser.iterateRecords(new StringReader(source)); }
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 void init(String filename) { CsvParserSettings settings = new CsvParserSettings(); settings.getFormat().setLineSeparator("\n"); CsvParser csvParser = new CsvParser(settings); csvParser.beginParsing(getReader(filename)); this.parser = csvParser; }
File initialFile = new File("/Users/me/Downloads/file.csv"); InputStream targetStream = FileUtils.openInputStream(initialFile); CsvParserSettings settings = new CsvParserSettings(); settings.getFormat().setLineSeparator("\n"); CsvParser parser = new CsvParser(settings); List<String[]> allRows = parser.parseAll(new InputStreamReader(targetStream, "UTF-8"));
@Test public void fieldSelectionTest() throws Exception { CsvParserSettings settings = new CsvParserSettings(); settings.setHeaderExtractionEnabled(true); settings.getFormat().setLineSeparator("\n"); settings.setNullValue("N/A"); //null value here settings.selectFields("Year", "???"); CsvParser parser = new CsvParser(settings); String input = "" + "Year,Header1,Header2\n" + "2000,foo,bar\n" + "2016,blah,etc\n"; for(String[] row : parser.parseAll(new StringReader(input))){ System.out.println(Arrays.toString(row)); } }
CsvParserSettings settings = new CsvParserSettings(); //many options here, check the tutorial settings.getFormat().setLineSeparator("\r\n"); settings.getFormat().setNormalizedNewline('\u0001'); //uses a special character to represent a new record instead of \n. settings.setNormalizeLineEndingsWithinQuotes(false); //does not replace \r\n by the normalized new line when reading quoted values. settings.setHeaderExtractionEnabled(true); //extract headers from file settings.trimValues(false); //does not remove whitespaces around values CsvParser parser = new CsvParser(settings); List<Record> recordsList = parser.parseAllRecords(new File("201404051539.csv"));
CsvParserSettings settings = new CsvParserSettings(); settings.detectFormatAutomatically(); CsvParser parser = new CsvParser(settings); parser.beginParsing(fileNameWithLocation); String nextLine[]; while ((nextLine = parser.parseNext()) != null){ //do stuff }
public CsvParserSettings csvParserSettings() { CsvParserSettings parserSettings = new CsvParserSettings(); parserSettings.setLineSeparatorDetectionEnabled(true); parserSettings.setHeaderExtractionEnabled(true); parserSettings.selectFields("label", "elapsed", "success", "timeStamp"); RowListProcessor rowProcessor = new RowListProcessor(); ConcurrentRowProcessor concurrentRowProcessor = new ConcurrentRowProcessor(rowProcessor); parserSettings.setProcessor(concurrentRowProcessor); return parserSettings; } }