1
Я пытаюсь изменить метод печати вместо csv.создать файл csv java
private static void printGaData(GaData results) {
System.out.println(
"printing results for profile: " + results.getProfileInfo().getProfileName());
if (results.getRows() == null || results.getRows().isEmpty()) {
System.out.println("No results Found.");
} else {
// Print column headers.
for (ColumnHeaders header : results.getColumnHeaders()) {
System.out.printf("%30s", header.getName());
}
System.out.println();
// Print actual data.
for (List<String> row : results.getRows()) {
for (String column : row) {
System.out.printf("%30s", column);
}
System.out.println();
}
System.out.println();
}
}
Этот метод выше выдает три колонки, он отлично работает. Поэтому я стараюсь использовать BufferedWriter, чтобы написать эти три столбца в CSV путем изменения кода:
private static void ExportGaData(GaData results,PrintWriter pw) {
System.out.println("printing results for profile: " + results.getProfileInfo().getProfileName());
if (results.getRows() == null || results.getRows().isEmpty()) {
System.out.println("No results Found.");
pw.close();
} else {
// Print column headers.
for (ColumnHeaders header : results.getColumnHeaders()) {
System.out.printf(header.getName() + " ");
}
System.out.println();
for (List<String> row : results.getRows()) {
for (String column : row) {
pw.printf("%30s", column,", ");
//pw.printf(column + ", ");
}
pw.println();
}
pw.println();
}
}
Это выплюнуть 1 столбец вместо 3-х столбцов. Дата выглядит так:
columnA's data columnb's data columnC's data
все в столбце A с большим количеством пробелов. Как это решить?
да я просто понимаю, что, но после того, как я изменил его к колонку, CSV был пуст, я изменил код, то я получил три колонок данных в одном столбце (столбец A) с пространства. Как мне разобрать его на три столбца? TT .. – Sailormoon
pw.printf (column, ",") ничего не печатал, я использую pw.printf ("% 30s", column, ","), печатать данные одного столбца для всех трех столбцов – Sailormoon
Вам нужно закрыть свой печатный писатель –