/** * Construct CsvIterator instance. * * @param reader reader to use * @param header an array of attribute names, if there is no header row * in the file, or null to read attribute names from the * header row */ public CsvIterator(ICsvListReader reader, String[] header) { try { m_reader = reader; m_header = header != null ? header : reader.getHeader(false); } catch (IOException e) { throw new RuntimeException(e); } }
@Test public final void testManual() throws IOException { ICsvListReader reader = new CsvListReader(new StringReader(CSV), CsvPreference.STANDARD_PREFERENCE); reader.getHeader(true); // skip header List<String> firstNames = new ArrayList<String>(); List<String> line; while((line = reader.read()) != null){ firstNames.add(line.get(0)); } // prints: [John, Bob] System.out.println(firstNames); }
private static final String CSV = "firstName,lastName\nJohn,Dunbar\nBob,Down"; @Test public final void testCollector() throws IOException { ICsvListReader reader = new CsvListReader(new StringReader(CSV), CsvPreference.STANDARD_PREFERENCE); reader.getHeader(true); // skip header // Collector processor 'collects' values from a column List<Object> firstNames = new ArrayList<Object>(); CellProcessor[] processors = {new Collector(firstNames), null}; while(reader.read(processors) != null){ // just keep reading - Collector will collect the values } // prints: [John, Bob] System.out.println(firstNames); }
new CsvPreference.Builder('"', '\t', "\r\n").build()); final String[] headers = listReader.getHeader(true);
@Override public List<SalaryYear> read(InputStream is) throws Exception { List<SalaryYear> elements = new ArrayList<SalaryYear>(); ICsvListReader reader = new CsvListReader(new InputStreamReader(is), CsvPreference.EXCEL_PREFERENCE); try { reader.getHeader(true); List<String> element; while ((element = reader.read()) != null) { String[] tokens = element.toArray(new String[element.size()]); SalaryYear salaryYear = new SalaryYear(); salaryYear.setEmail(tokens[0]); salaryYear.setYear(2013); List<SalaryMonth> months = new ArrayList<SalaryMonth>(12); for (int i = 1; i < 13; i++) { months.add(buildSalaryMonth(i, tokens[i])); } salaryYear.setMonths(months); elements.add(salaryYear); } } finally { reader.close(); } return elements; }
try (ICsvListReader reader = new CsvListReader(new InputStreamReader(is), prefs)) { Map<Integer, Integer> colMap = new HashMap<>(); String[] header = reader.getHeader(true); List<String> substationIds = new ArrayList<>(); for (int col = 0; col < header.length; col++) {
csvReader.getHeader(true); // skips the header column
CsvPreference.STANDARD_PREFERENCE); listReader.getHeader(true); // skip the header
BufferedReader br=new BufferedReader(reader); ICsvListReader csvListReader=workbookFileType.createCsvListReader(br); String[] headers=csvListReader.getHeader(true); MenuDefinition[] headerDefs=new MenuDefinition[headers.length]; int keywordCount=0;
private static void format(InputStream is, boolean zipped, PrintStream out) throws IOException { Table table; CsvPreference prefs = new CsvPreference.Builder('"', ',', "\r\n").build(); try (ICsvListReader reader = new CsvListReader(createReader(is, zipped), prefs)) { String[] header = reader.getHeader(true); table = new Table(header.length, BorderStyle.CLASSIC_WIDE); for (String cell : header) { table.addCell(cell); } List<String> row; while ((row = reader.read()) != null) { for (int i = 0; i < row.size(); i++) { String cell = row.get(i); if (header[i].equals(HistoDbMetaAttributeId.datetime.toString())) { DateTime datetime = new DateTime(Long.parseLong(cell) * 1000L); table.addCell(datetime.toString()); } else { table.addCell(cell); } } } } out.println(table.render()); }