Press "Enter" to skip to content

Leggere da un file CSV con java apache commons-csv

La lettura di record da un file CSV in java è un’operazione abbastanza semplice e con apache commons-csv diventa ancora più facile e automatico.
Per prima cosa dobbiamo aggiungere la necessaria dipendenza nel nostro progetto, scaricando la libreria o includendo la relativa dipendenza maven nel pom.xml del nostro progetto.
Potete trovare la pagina ufficiale del progetto commons-csv cliccando questo link.
Al momento la dipendenza da inserire nel nostro pom.xml è questa:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-csv</artifactId>
    <version>1.6</version>
</dependency>

Una volta inserita questa dipendenza leggere il file sarà semplice, dovremo creare un Reader e poi passarlo al CSV parser per ottenere un Iterable con il quale potremo accedere ai dati attraverso un semplice ciclo for, qui sotto un esempio del codice finale:

    Reader in = new FileReader("/tmp/Punteggi.csv");
    Iterable<CSVRecord> records = CSVFormat.EXCEL.withFirstRecordAsHeader().parse(in);
    List<Risultato> risultati = Lists.newArrayList();
    for (CSVRecord record : records) {
        Risultato risultato = new Risultato();
        risultato.matricola = Long.valueOf(record.get("Matr."));
        risultato.arciere = record.get("Arciere");
        risultato.classe = record.get("Cl.");
        risultato.societa = Integer.parseInt(record.get("Società"));
        risultato.divisione = record.get("Divisione");
        risultato.punti = Integer.parseInt(record.get("Punti"));
        risultato.gara = record.get("Gara");
        risultati.add(risultato);
    }


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *