Hoe specifieke regels uit een csv-bestand in r te lezen


U kunt de volgende methoden gebruiken om specifieke regels uit een CSV-bestand in R te lezen:

Methode 1: Importeer een CSV-bestand uit een specifieke rij

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

In dit specifieke voorbeeld worden de eerste twee regels van het CSV-bestand overgeslagen en worden alle andere regels van het bestand geïmporteerd, te beginnen met de derde regel.

Methode 2: Importeer een CSV-bestand waarvan de rijen aan de voorwaarde voldoen

 library (sqldf)

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

In dit specifieke voorbeeld worden alleen rijen uit het CSV-bestand geïmporteerd waarvan de waarde in de kolom ‚punten‘ groter is dan 90.

De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken met het volgende CSV-bestand met de naam my_data.csv :

Voorbeeld 1: Importeer een CSV-bestand uit een specifieke rij

De volgende code laat zien hoe u het CSV-bestand importeert en de eerste twee regels van het bestand negeert:

 #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

Merk op dat de eerste twee regels (met teams A en B) werden genegeerd bij het importeren van het CSV-bestand.

Standaard probeert R de waarden van de volgende beschikbare rij als kolomnamen te gebruiken.

Om kolommen te hernoemen, kunt u de functie name() als volgt gebruiken:

 #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

Voorbeeld 2: Importeer een CSV-bestand waarvan de rijen aan de voorwaarde voldoen

Stel dat we alleen die rijen uit het CSV-bestand willen importeren waarvan de waarde in de puntenkolom groter is dan 90.

We kunnen hiervoor de functie read.csv.sql uit het sqldf- pakket gebruiken:

 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

Houd er rekening mee dat alleen de twee regels van het CSV-bestand waarvan de waarde in de kolom “punten” groter is dan 90 zijn geïmporteerd.

Opmerking #1 : In dit voorbeeld hebben we het eol- argument gebruikt om aan te geven dat het „einde van de regel“ in het bestand wordt aangegeven met \n , wat een nieuwe regel vertegenwoordigt.

Opmerking 2: In dit voorbeeld hebben we een eenvoudige SQL-query gebruikt, maar u kunt complexere query’s schrijven om rijen op nog meer voorwaarden te filteren.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe een CSV van een URL in R te lezen
Hoe meerdere CSV-bestanden samen te voegen in R
Een dataframe exporteren naar een CSV-bestand in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert