Manipulation de données en Julia
Katerina Zahradova
Instructor
",", " ", "\t", ...# Chargement d'un fichier avec l'espace comme délimiteur
penguins = DataFrame(CSV.File("penguins.csv",delim=" "))
3.143,14
# Chargement d'un fichier avec la virgule comme séparateur décimal
penguins = DataFrame(CSV.File(
"penguins.csv",
decimal=',', delim=" "))
# Chargement des lignes 13 à 27
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 ...
# Spécifier l'en-tête comme une ligne
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 ...
...
# En-tête sur plusieurs lignes
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 ...
...
# Remplacer l'en-tête
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 ...
...
# Enregistrer le DataFrame
CSV.write("temp/transformed_penguins.csv", delim = " ", decimal = ',')
delim= : un Char ou String qui sépare les valeurs des colonnes ; p. ex., species,island,...
decimal= : un Char indiquant le séparateur décimal des réels ; p. ex., . dans 3.14
skipto= : un Int précisant le numéro de ligne où commencer le chargement ; attention : l'en-tête est inclus !
limit= : un Int indiquant le nombre de lignes à charger
header= : un Int pour le numéro de ligne de l'en-tête, un Vector{Int} pour plusieurs lignes, un Vector{String} ou Vector{Symbol} pour réécrire l'en-tête
CSV.File(path) charge un fichier à path
CSV.write(path, df) écrit df en CSV à path
Documentation pour CSV.File() et CSV.write
Manipulation de données en Julia