2016-04-27 4 views
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 с большим количеством пробелов. Как это решить?

ответ

1

Я думаю, что вы хотите

for (String column : row) { 
     pw.printf(column + ", "); // not row 
} 
+0

да я просто понимаю, что, но после того, как я изменил его к колонку, CSV был пуст, я изменил код, то я получил три колонок данных в одном столбце (столбец A) с пространства. Как мне разобрать его на три столбца? TT .. – Sailormoon

+0

pw.printf (column, ",") ничего не печатал, я использую pw.printf ("% 30s", column, ","), печатать данные одного столбца для всех трех столбцов – Sailormoon

+0

Вам нужно закрыть свой печатный писатель –

Смежные вопросы