Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Utilizzo di file CSV

Utilizzare le funzionalità messe a disposizione dal linguaggio R per interagire con i file CSV: ecco come leggerne il contenuto, o crerne di nuovi.
Utilizzare le funzionalità messe a disposizione dal linguaggio R per interagire con i file CSV: ecco come leggerne il contenuto, o crerne di nuovi.
Link copiato negli appunti

Una sorgente dati molto comune sono i cosiddetti file CSV (comma-separated values), ovvero comuni file di testo che contengono dati disposti per righe, ognuna delle quali solitamente rispetta lo stesso numero e tipo di informazione delle altre. I dati su ogni riga sono divisi da una virgola (comma, in inglese), da cui prendono il nome questo genere di file.

Le virgole separatrici svolgono lo stesso ruolo delle colonne in un foglio di calcolo, tanto che un CSV può essere visto come
l'equivalente testuale di una tabella di un foglio Excel. Vediamo un esempio:

Tessera;Cognome;Nome;Iscrizione
125669A;Rossi;Emilio;26/03/2005
739885A;Verdi;Alberto;11/05/1999

Lo stralcio precedente mostra un esempio di CSV composto da una prima riga di intestazione, e le due righe successive di dati puri.

Questo formato di file è generalmente utilizzato per distribuire grandi moli di informazioni - spesso a
carattere scientifico o economico - che possono essere resi bene in formato tabellare. Vediamo in R
come farne uso.

Lettura e scrittura di CSV in R

La funzione read.table permette di leggere il contenuto di un file CSV in un
data.frame:

df <- read.table("D:\\dati\\sorgente.csv", sep=",")

Il comando recupera dati dal file D:\dati\sorgente.csv, spezzetta una riga alla volta in base
al separatore (che può quindi essere anche diverso dalla virgola) e mette il tutto in un data.frame che qui indichiamo con la variabile df. Si noti che, per i percorsi su sistema operativo Windows, va raddoppiato il backslash affinchè non venga
interpretato come carattere di escape. Possiamo ottenere conferma di avere ottenuto realmente
un data.frame utilizzando la funzione class come visto nelle lezioni precedenti:

> class(df)
[1] "data.frame"

Esiste anche la funzione write.table che permette di salvare un data.frame su un
file CSV
. Tale funzione accetta i seguenti parametri:

  • la variabile che contiene il data.frame;
  • l'indirizzo del file di destinazione;
  • il parametro row.names impostato a FALSE se non vorremo trovare i nomi delle righe del data.frame
    nel file destinazione;
  • col.names impostato a FALSE per evitare nomi delle colonne del data.frame
    nel file CSV prodotto;
  • il parametro sep che specifica il separatore da usare
  • il parametro append da impostare a TRUE se vogliamo che il file destinazione non venga riscritto da
    zero ma conservi il precedente contenuto.

Ecco un esempio:

> write.table(df, "D:\\dati\\dest.csv", row.names=FALSE, col.names=FALSE, sep=";")

Nella prossima lezione vedremo qualche ulteriore dettaglio relativo all'interazione con i file CSV, imparando anche a creare ed utilizzare uno script R.

Ti consigliamo anche