Ich versuche, eine Guava-Tabelle in CSV zu exportieren. Der Code unten funktioniert, aber es überspringt die erste Spalte, die ich auch in der Ausgabe sehen möchte. Kannst du irgendetwas vorschlagen?Guava-Tabelle zu CSV
EDIT: offensichtlich mit values()
und keySet()
funktioniert separat.
final RowSortedTable<String, String, Double> graph = TreeBasedTable.create();
graph.put("A", "0", 0.0);
graph.put("A", "1", 1.0);
graph.put("B", "0", 0.1);
graph.put("B", "1", 1.1);
final Appendable out = new StringBuilder();
try {
final CSVPrinter printer = CSVFormat.DEFAULT.print(out);
printer.printRecords(//
graph.rowMap().values()//
.stream()//
.map(x -> x.values())//
.collect(Collectors.toList()));
} catch (final IOException e) {
e.printStackTrace();
}
System.out.println(out);
EDIT: dies funktioniert auch nicht:
printer.printRecords(//
graph.rowMap().entrySet().stream().map(entry -> {
List a = Arrays.asList(entry.getKey());
a.addAll(entry.getValue().values());
return a;
}).collect(Collectors.toList())
);
Haben Sie Ihren Code debuggen zu überprüfen, ob diese Spalte noch vorhanden ist in der Liste an den Drucker übergeben oder nicht? – Thomas
Woher kommen 'CSVPrinter' und' CSVPrinter'? –
Ihr Code druckt "0.0,1.0" in der ersten Zeile und '0.1.1.1' in der zweiten, was ist Ihre gewünschte Ausgabe? – Xaerxess