/** * 序列化为CSV */ public static <V> String toCsv(String separator, V v) { try { CsvSchema schema = csvMapper.schemaFor(v.getClass()).withHeader().withColumnSeparator(separator.charAt(0)); return csvMapper.writer(schema).writeValueAsString(v); } catch (JsonProcessingException e) { log.error("jackson to csv error, obj: {}", v, e); return null; } }
/** * 序列化为CSV */ public static <V> String toCsv(String separator, List<V> list) { try { Class type = list.get(0).getClass(); CsvSchema schema = csvMapper.schemaFor(type).withHeader().withColumnSeparator(separator.charAt(0)); return csvMapper.writer(schema).writeValueAsString(list); } catch (JsonProcessingException e) { log.error("jackson to csv error, obj: {}", list, e); return null; } }
/** * 序列化为CSV文件 */ public static <V> void toCsvFile(String path, String separator, List<V> list) { try (Writer writer = new FileWriter(new File(path), true)) { Class type = list.get(0).getClass(); CsvSchema schema = csvMapper.schemaFor(type).withHeader().withColumnSeparator(separator.charAt(0)); csvMapper.writer(schema).writeValues(writer).writeAll(list); writer.flush(); } catch (Exception e) { log.error("jackson to csv file error, path: {}, separator: {}, list: {}", path, separator, list, e); } }
/** * 序列化为CSV文件 */ public static <V> void toCsvFile(String path, String separator, V v) { try (Writer writer = new FileWriter(new File(path), true)) { CsvSchema schema = csvMapper.schemaFor(v.getClass()).withHeader().withColumnSeparator(separator.charAt(0)); csvMapper.writer(schema).writeValues(writer).write(v); writer.flush(); } catch (Exception e) { log.error("jackson to csv file error, path: {}, separator: {}, obj: {}", path, separator, v, e); } }
public CsvConverter(File csvDir, List<File> inputFiles) { this.csvDir = csvDir; this.inputFiles = inputFiles; csvMapper.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false); schema = csvMapper.schemaFor(Comment.class); schema.withColumnSeparator('\t'); schema.withHeader(); }
/** * formatQuoteListToCSV - convert quote list to CSV * * @param quote list * @return CSV formatted Quote list */ private String formatQuoteListToCSV(List<StreamingQuote> quoteList) { String csvData = null; CsvMapper mapper = new CsvMapper(); CsvSchema schema = null; if(quoteList.get(0).getClass() == StreamingQuoteModeLtp.class){ schema = mapper.schemaFor(StreamingQuoteModeLtp.class).withHeader().withColumnSeparator(','); } else if(quoteList.get(0).getClass() == StreamingQuoteModeQuote.class){ schema = mapper.schemaFor(StreamingQuoteModeQuote.class).withHeader().withColumnSeparator(','); } else if(quoteList.get(0).getClass() == StreamingQuoteModeFull.class){ schema = mapper.schemaFor(StreamingQuoteModeFull.class).withHeader().withColumnSeparator(','); } else{ System.out.println("TimeRangeStreamingQuoteActionHandler.formatQuoteListToCSV(): ERROR: Wrong POJO class to map"); } try { csvData = mapper.writer(schema).writeValueAsString(quoteList); } catch (JsonProcessingException e) { System.out .println("TimeRangeStreamingQuoteActionHandler.formatQuoteListToCSV(): ERROR: JsonProcessingException on quote list !!!"); e.printStackTrace(); } return csvData; }
ObjectWriter writer = mapper.writer(schema.withHeader().withColumnSeparator('\t')); writer.writeValue(output.getBody(), results);
.withColumnSeparator(delimiter) .withoutQuoteChar() .withLineSeparator(lineSep)).writeValueAsString(itemList.get(i));
/** * formatQuoteToCSV - convert quote to CSV * @param quote * @return CSV formatted Quote */ private String formatQuoteToCSV(OHLCquote quote){ String csvData = null; CsvMapper mapper = new CsvMapper(); CsvSchema schema = mapper.schemaFor(OHLCquote.class).withHeader().withColumnSeparator(','); try { csvData = mapper.writer(schema).writeValueAsString(quote); } catch (JsonProcessingException e) { System.out.println("TimeRangeOHLCActionHandler.formatQuoteToCSV(): ERROR: JsonProcessingException on quote"); e.printStackTrace(); } return csvData; }
private byte[] rulesToCsv(List<?> list, Class<?> type, Class<?> mixin) throws IOException { CsvMapper csvMapper = new CsvMapper(); CsvSchema csvSchema = csvMapper.schemaFor(type).withHeader().withColumnSeparator(';'); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); try (SequenceWriter csvWriter = csvMapper .addMixIn(type, mixin) .writerWithDefaultPrettyPrinter() .with(csvSchema) .forType(type) .writeValues(outputStream)) { for (Object nextRow : list) { csvWriter.write(nextRow); } } return outputStream.toByteArray(); }
try { char separator = computeSeparator(file); CsvSchema schema = CsvSchema.emptySchema().withHeader().withColumnSeparator(separator); try (FileReader fr = new FileReader(file); BufferedReader reader = new BufferedReader(fr, DEFAULT_BUFFER_SIZE)) {
public void write(CsvRoute route, OutputStream target, int startIndex, int endIndex) throws IOException { List<CsvPosition> positions = route.getPositions(); CsvSchema.Builder builder = new CsvSchema.Builder(); if (positions.size() > 0) for (String key : positions.get(0).getRowAsMap().keySet()) builder = builder.addColumn(key); CsvSchema schema = builder.build().withHeader().withColumnSeparator(getColumnSeparator()); try(SequenceWriter writer = new CsvMapper().writer(schema).writeValues(target)) { for (int i = startIndex; i < endIndex; i++) { CsvPosition position = positions.get(i); writer.write(position.getRowAsMap()); } } } }
protected boolean read(Reader reader, ParserContext<CsvRoute> context) throws IOException { List<CsvPosition> positions = new ArrayList<>(); CsvSchema schema = CsvSchema.emptySchema().withHeader().withColumnSeparator(getColumnSeparator()); ObjectReader objectReader = new CsvMapper().readerFor(LinkedHashMap.class).with(schema); try { MappingIterator<LinkedHashMap<String, String>> iterator = objectReader.readValues(reader); while (iterator.hasNext()) { LinkedHashMap<String, String> rowAsMap = iterator.next(); if (containsGarbage(rowAsMap)) { log.warning(format("Found garbage in '%s'", rowAsMap)); return false; } CsvPosition position = new CsvPosition(rowAsMap); // skip positions without any reasonable data to make format less greedy if(position.getLongitude() == null && position.getLatitude() == null && position.getDescription() == null) continue; positions.add(position); } } finally { reader.close(); } if (positions.size() > 0) { context.appendRoute(new CsvRoute(this, null, positions)); return true; } else return false; }
private MappingIterator<CsvMapperData> readValues(byte[] csvContent) throws TermCsvLoaderException { CsvMapper csvMapper = new CsvMapper(); CsvSchema csvSchema = csvMapper.schemaFor(CsvMapperData.class). withColumnSeparator(CSV_SEPARATOR). withSkipFirstDataRow(true).withHeader(). withoutColumns(); ObjectReader objectReader = csvMapper.reader(CsvMapperData.class).with(csvSchema); try { return objectReader.readValues(csvContent); } catch (IOException e) { throw new TermCsvLoaderException(e); } } }
private MappingIterator<CsvMapperData> readValues(byte[] csvContent) throws TermCsvLoaderException { CsvMapper csvMapper = new CsvMapper(); CsvSchema csvSchema = csvMapper.schemaFor(CsvMapperData.class). withColumnSeparator(CSV_SEPARATOR). withSkipFirstDataRow(true).withHeader(). withoutColumns(); ObjectReader objectReader = csvMapper.reader(CsvMapperData.class).with(csvSchema); try { return objectReader.readValues(csvContent); } catch (IOException e) { throw new TermCsvLoaderException(e); } } }
private MappingIterator<CsvMapperData> readValues(byte[] csvContent) throws ReferenceCsvLoaderException { CsvMapper csvMapper = new CsvMapper(); CsvSchema csvSchema = csvMapper.schemaFor(CsvMapperData.class). withColumnSeparator(CSV_SEPARATOR). withSkipFirstDataRow(true).withHeader(). withoutColumns(); ObjectReader objectReader = csvMapper.reader(CsvMapperData.class).with(csvSchema); try { return objectReader.readValues(csvContent); } catch (IOException e) { throw new ReferenceCsvLoaderException(e); } } }
private MappingIterator<CsvMapperData> readValues(byte[] csvContent) throws ReferenceCsvLoaderException { CsvMapper csvMapper = new CsvMapper(); CsvSchema csvSchema = csvMapper.schemaFor(CsvMapperData.class). withColumnSeparator(CSV_SEPARATOR). withSkipFirstDataRow(true).withHeader(). withoutColumns(); ObjectReader objectReader = csvMapper.reader(CsvMapperData.class).with(csvSchema); try { return objectReader.readValues(csvContent); } catch (IOException e) { throw new ReferenceCsvLoaderException(e); } } }
private static <T> List<T> importCsvRules(Class<T> type, Class<?> mixin, String rulesString) throws Exception { CsvSchema csvSchema = CsvSchema.emptySchema().withHeader().withColumnSeparator(';'); CsvMapper mapper = new CsvMapper(); mapper.addMixIn(type, mixin); mapper.enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true); MappingIterator<T> readValues = mapper.readerFor(type).with(csvSchema).readValues(rulesString); return readValues.readAll(); }