inserire i dati in un file csv utilizzando il codice java in eclipse


Sto cercando di sviluppare un sistema di raccomandazione utilizzando Movielens 100k movies dataset. I t funziona bene per userid già presente nel set di dati , ma voglio firmare un nuovo utente, ottenere le sue valutazioni su un no fisso. 5) e poi dargli raccomandazioni basate sull'analisi. Per l'analisi, avrei bisogno di aggiungere le valutazioni che ha fornito(a 5 film) al mio set di dati che è in forma csv. Controlla la mia struttura di directory di eclipse maven dallo screenshot. Voglio modificare le valutazioni.csv sotto dati cartella.

Una volta che recupero i dati dal front-end , come posso aggiungerli nelle valutazioni.csv in modo da espandere il mio set di dati e quindi consentire ai nuovi utenti di ottenere consigli.

inserisci qui la descrizione dell'immagine

Valutazioni.csv contiene le seguenti colonne

  user_id     movie_id    ratings

Posso in qualche modo aggiungere i dati alle valutazioni.csv

Author: David Makogon, 2016-11-15

1 answers

private static void writeToCSV(List<Data> dataList) throws FileNotFoundException {
    PrintWriter pw = new PrintWriter(new File("D:\\test.csv"));
    StringBuilder sb = new StringBuilder();
    sb.append("PAN,");
    sb.append("REASON,");
    sb.append("DATE");
    sb.append("\n");

    dataList.stream().map((data) -> {
        sb.append(data.getPan() + ",");
        return data;
    }).map((data) -> {
        sb.append(data.getReason() + ",");
        return data;
    }).map((data) -> {
        sb.append(data.getDateTime() + "");
        return data;
    }).forEach((_item) -> {
        sb.append("\n");
    });

    pw.write(sb.toString());
    pw.close();
    System.out.println("done!");
}

Se si desidera formattare i dati csv con lo spazio, è possibile utilizzare StringUtils (org.Apache.comune.lang)

private static String rightPad(String text, int length) {
        return StringUtils.rightPad(text, length, " ");
    }

    private static String leftPad(String text, int length) {
        return StringUtils.leftPad(text, length, " ");
    }

Quindi per scrivere dati su file csv penso che non abbia bisogno di un altro lib

 1
Author: Samir Agayarov, 2016-11-15 05:50:50