Come leggere righe specifiche da un file csv in r


È possibile utilizzare i seguenti metodi per leggere righe specifiche da un file CSV in R:

Metodo 1: importa un file CSV da una riga specifica

 df <- read. csv (" my_data.csv ", skip= 2 )

Questo particolare esempio salterà le prime due righe del file CSV e importerà tutte le altre righe del file a partire dalla terza riga.

Metodo 2: importa un file CSV in cui le righe soddisfano la condizione

 library (sqldf)

df <- read. csv . sql (" my_data.csv ",
                    sql = " select * from file where `points` > 90 ", eol = " \n ")

Questo particolare esempio importerà solo le righe dal file CSV il cui valore nella colonna “punti” è maggiore di 90.

I seguenti esempi mostrano come utilizzare nella pratica ciascuno di questi metodi con il seguente file CSV chiamato my_data.csv :

Esempio 1: importa un file CSV da una riga specifica

Il codice seguente mostra come importare il file CSV e ignorare le prime due righe del file:

 #import data frame and skip first two rows
df <- read. csv (' my_data.csv ', skip= 2 )

#view data frame
df

  B X90 X28 X28.1
1 C 86 31 24
2 D 88 39 24
3 E 95 34 28

Tieni presente che le prime due righe (con le squadre A e B) sono state ignorate durante l’importazione del file CSV.

Per impostazione predefinita, R tenta di utilizzare i valori della successiva riga disponibile come nomi di colonna.

Per rinominare le colonne, puoi utilizzare la funzionenames() come segue:

 #rename columns
names(df) <- c(' team ', ' points ', ' assists ', ' rebounds ')

#view updated data frame
df

  team points assists rebounds
1 C 86 31 24
2 D 88 39 24
3 E 95 34 28

Esempio 2: importa un file CSV in cui le righe soddisfano la condizione

Supponiamo di voler importare solo quelle righe dal file CSV il cui valore nella colonna punti è maggiore di 90.

Possiamo usare la funzione read.csv.sql dal pacchetto sqldf per fare questo:

 library (sqldf)

#only import rows where points > 90
df <- read. csv . sql (" my_data.csv ",
                    sql = " select * from file where `points` > 90 ", eol = " \n ")

#view data frame
df

  team points assists rebounds
1 “A” 99 33 30
2 “E” 95 34 28

Da notare che sono state importate solo le due righe del file CSV il cui valore nella colonna “punti” è maggiore di 90.

Nota n. 1 : in questo esempio, abbiamo utilizzato l’argomento eol per specificare che la “fine riga” nel file è indicata da \n , che rappresenta una nuova riga.

Nota n.2: in questo esempio abbiamo utilizzato una semplice query SQL, ma puoi scrivere query più complesse per filtrare le righe in base a un numero ancora maggiore di condizioni.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come leggere un CSV da un URL in R
Come unire più file CSV in R
Come esportare un frame di dati in un file CSV in R

Aggiungi un commento

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