CSV-bestanden laden en schrijven

Data manipulatie in Julia

Katerina Zahradova

Instructor

Scheidingstekens

  • Scheidingsteken = een teken of string om waarden te scheiden
  • Voorbeelden: ",", " ", "\t", ...
# Bestand laden met spatie als scheidingsteken
penguins = DataFrame(CSV.File("penguins.csv",delim=" "))
Data manipulatie in Julia

Decimaalteken

  • Decimale punt (blauw), bijv. 3.14
  • Decimale komma (groen), bijv. 3,14
  • Beide (donkergroen)
  • Arabische decimale scheiding (rood)

Decimale notatie wereldwijd

# Bestand laden met komma als decimaalteken
penguins = DataFrame(CSV.File(
        "penguins.csv",
        decimal=',', delim=" "))
1 Door NuclearVacuum, Wikipedia
Data manipulatie in Julia

Delen van datasets laden

# Regels 13 t/m 27 laden
penguins_part = DataFrame(CSV.File("penguins.csv", skipto=10, limit=3))
3×7 DataFrame
Row species  island     culmen_length_mm  culmen_depth_mm  ...
    String7  String15   Float64           Float64          ...
______________________________________________________________
1   Adelie   Torgersen  38.6              21.2             ...
2   Adelie   Torgersen  34.6              21.1             ...
3   Adelie   Torgersen  36.6              17.8             ...
Data manipulatie in Julia

Header

# Header als regel opgeven
penguins_header = DataFrame(CSV.File("penguins.csv", header = 1))
333×7 DataFrame
Row species  island     culmen_length_mm  culmen_depth_mm  ...
    String7  String15   Float64           Float64          ...
______________________________________________________________
1   Adelie   Torgersen  39.1              18.7             ...
2   Adelie   Torgersen  39.5              17.4             ...
3   Adelie   Torgersen  40.3              18.0             ...
...
Data manipulatie in Julia

Header over meerdere regels

# Meerdere regels als header
penguins_header = DataFrame(CSV.File("penguins.csv", header = [1, 2]))
332×7 DataFrame
Row species_Adelie  island_Torgersen  culmen_length_mm_39.1  ...
    String7         String15          Float64                ...
________________________________________________________________
1   Adelie          Torgersen         39.5                   ...
2   Adelie          Torgersen         40.3                   ...
3   Adelie          Torgersen         36.7                   ...
...
Data manipulatie in Julia

De header vervangen

# Header vervangen
penguins_header = DataFrame(CSV.File("penguins.csv",
                        header = [:species, :area, :culmen_l_mm, :culmen_d_mm,
                            :flipper_l_mm, :weight_g, :sex]))
333×7 DataFrame
Row species  area       culmen_l_mm  culmen_d_mm      ...
    String7  String15   Float64      Float64          ...
____________________________________________________
1   Adelie   Torgersen  39.1         18.7             ...
2   Adelie   Torgersen  39.5         17.4             ...
3   Adelie   Torgersen  40.3         18.0             ...
...
Data manipulatie in Julia

CSV-bestanden schrijven

# DataFrame opslaan
CSV.write("temp/transformed_penguins.csv", delim = " ", decimal = ',')
Data manipulatie in Julia

Spiekbrief

  • delim=: een Char of String die kolomwaarden scheidt; bijv. species,island,...

  • decimal=: een Char die de decimaalscheiding in floats aangeeft; bijv. . in 3.14

  • skipto=: een Int met het regelnummer in het bestand om te starten; let op: header telt mee!

  • limit=: een Int met het aantal te laden rijen

  • header=: een Int voor de headerregel, een Vector{Int} voor meerdere regels, of een Vector{String}/Vector{Symbol} om de header te herschrijven

  • CSV.File(path) laadt een bestand op path

  • CSV.write(path, df) schrijft df als CSV naar path

Documentatie voor CSV.File() en CSV.write

Data manipulatie in Julia

Laten we oefenen!

Data manipulatie in Julia

Preparing Video For Download...