public char getSeparator() { return settings.getFormat().getDelimiter(); }
public char getEscapeChar() { return settings.getFormat().getQuoteEscape(); }
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 constructor to prevent instantiation */ public CsvWriter(Table table, CsvWriteOptions options) { this.table = table; this.header = options.header(); this.writer = options.writer(); this.settings = new CsvWriterSettings(); // Sets the character sequence to write for the values that are null. settings.setNullValue(nullValue); settings.getFormat().setDelimiter(options.separator()); settings.getFormat().setQuote(options.quoteChar()); settings.getFormat().setQuoteEscape(options.escapeChar()); settings.getFormat().setLineSeparator(options.lineEnd()); // writes empty lines as well. settings.setSkipEmptyLines(false); }
@Override protected String assemble(List<PolicyStats> results) { StringWriter output = new StringWriter(); CsvWriter writer = new CsvWriter(output, new CsvWriterSettings()); writer.writeHeaders(headers()); for (PolicyStats policyStats : results) { Object[] data = new Object[] { policyStats.name(), String.format("%.2f", 100 * policyStats.hitRate()), policyStats.hitCount(), policyStats.missCount(), policyStats.requestCount(), policyStats.evictionCount(), String.format("%.2f", 100 * policyStats.admissionRate()), (policyStats.operationCount() == 0) ? null : policyStats.operationCount(), policyStats.stopwatch().elapsed(TimeUnit.MILLISECONDS) }; writer.writeRow(data); } writer.close(); return output.toString(); } }
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; }
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); }
public void write() { com.univocity.parsers.csv.CsvWriter csvWriter = null; // Creates a writer with the above settings; try { csvWriter = new com.univocity.parsers.csv.CsvWriter(writer, settings); if (header) { String[] header = new String[table.columnCount()]; for (int c = 0; c < table.columnCount(); c++) { header[c] = table.column(c).name(); } csvWriter.writeHeaders(header); } for (int r = 0; r < table.rowCount(); r++) { String[] entries = new String[table.columnCount()]; for (int c = 0; c < table.columnCount(); c++) { table.get(r, c); entries[c] = table.getUnformatted(r, c); } csvWriter.writeRow(entries); } } finally { if (csvWriter != null) { csvWriter.flush(); csvWriter.close(); } } }
csvParser.beginParsing(new InputStreamReader(stream)); csvParser.parseNext(); while ((nextLine = csvParser.parseNext()) != null) { csvParser.stopParsing();
public String tableToCsv(String url) throws IOException { Document doc = Jsoup.connect(url).get(); Elements tables = doc.select("table"); if (tables.size() != 1) { throw new IllegalStateException( "Reading html to table currently works if there is exactly 1 html table on the page. " + " The URL you passed has " + tables.size() + ". You may file a feature request with the URL if you'd like your pagae to be supported"); } Element table = tables.get(0); CsvWriterSettings settings = new CsvWriterSettings(); StringWriter stringWriter = new StringWriter(); CsvWriter csvWriter = new CsvWriter(stringWriter, settings); for (Element row : table.select("tr")) { Elements headerCells = row.getElementsByTag("th"); Elements cells = row.getElementsByTag("td"); String[] nextLine = Stream.concat(headerCells.stream(), cells.stream()) .map(Element::text).toArray(String[]::new); csvWriter.writeRow(nextLine); } return stringWriter.toString(); } }
private CsvFormat csvFormat(CsvReadOptions options) { CsvFormat format = new CsvFormat(); if (options.separator() != null) { format.setDelimiter(options.separator()); } if (options.lineEnding() != null) { format.setLineSeparator(options.lineEnding()); } return format; }
parser.beginParsing(reader); Table table = Table.create(options.tableName()); parser.stopParsing(); reader.close();
private String[] getHeaderNames(CsvReadOptions options, ColumnType[] types, CsvParser parser) { String[] headerNames; if (options.header()) { headerNames = parser.parseNext(); // work around issue where Univocity returns null if a column has no header. for (int i = 0; i < headerNames.length; i++) { if (headerNames[i] == null) { headerNames[i] = "C" + i; } } } else { headerNames = makeColumnNames(types); } return headerNames; }
public String getLineEnd() { return new String(settings.getFormat().getLineSeparator()); } }
/** * Provides a basic CSV configuration for parsing CSV files in accordance with the * rules established by <a href="http://tools.ietf.org/html/rfc4180">RFC 4180</a> * * @return a pre-configured {@link CsvParserSettings} object with suggested settings for parsing * CSV using the <a href="http://tools.ietf.org/html/rfc4180">RFC 4180</a> rules. */ public static CsvParserSettings parseRfc4180() { CsvParserSettings settings = parseExcel(); settings.setNormalizeLineEndingsWithinQuotes(false); return settings; }
public String getNullValue() { return settings.getNullValue(); }
csvParser.beginParsing(streamReader); headerNames = csvParser.parseNext(); csvParser.stopParsing();
while ((nextLine = reader.parseNext()) != null) {
public char getSeparator() { return settings.getFormat().getDelimiter(); }