Leggere file CSV in Rust

Mattepuffo's logo
Leggere file CSV in Rust

Leggere file CSV in Rust

In questo articolo vediamo come leggere un file CSV in Rust.

Ci serviranno due librerie:

  • serde per la deserializzazione (non è obbligatorio, ma ve lo consgilio)
  • csv

Possiamo installarle con cargo:

cargo add serde csv

Qui sotto un estrapolato del file CSV:

CODICE,RAG_SOC
1,SOLARIS BUS & COACH sp. z o.o.
2,ROMANA DIESEL S.P.A.
3,NGV BUS S.R.L.
4,CEDISS SRL

Come vedete i "titoli" delle colonne sono in maiuscolo.

Quindi il nostro codice sarà così:

use csv::Reader;
use serde::Deserialize;
use std::error::Error;

#[derive(Deserialize)]
struct Record {
    CODICE: String,
    RAG_SOC: String,
}

fn main() -> Result<(), Box<dyn Error>> {
    let str_file = "/home/fermat/TEST/test.csv";

    let mut reader = Reader::from_path(str_file)?;

    for result in reader.deserialize() {
        let record: Record = result?;
        println!("CODICE: {:?}; RAG SOC: {:?}", record.CODICE, record.RAG_SOC);
    }

    Ok(())
}

Enjoy!


Condividi

Commentami!