Memuat dan menulis file CSV

Manipulasi Data di Julia

Katerina Zahradova

Instructor

Delimiter

  • Delimiter = karakter atau string untuk memisahkan nilai
  • Contoh delimiter: ",", " ", "\t", ...
# Memuat file dengan spasi sebagai delimiter
penguins = DataFrame(CSV.File("penguins.csv",delim=" "))
Manipulasi Data di Julia

Tanda desimal

  • Titik desimal (biru), mis. 3.14
  • Koma desimal (hijau), mis. 3,14
  • Keduanya (hijau tua)
  • Pemisah desimal Arab (merah)

Tanda desimal di seluruh dunia

# Memuat file dengan koma sebagai penanda desimal
penguins = DataFrame(CSV.File(
        "penguins.csv",
        decimal=',', delim=" "))
1 Oleh NuclearVacuum, Wikipedia
Manipulasi Data di Julia

Memuat sebagian dataset

# Memuat baris 13 hingga 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             ...
Manipulasi Data di Julia

Header

# Menentukan header sebagai baris
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             ...
...
Manipulasi Data di Julia

Header di beberapa baris

# Header multi-baris
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                   ...
...
Manipulasi Data di Julia

Mengganti header

# Mengganti header
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             ...
...
Manipulasi Data di Julia

Menulis file CSV

# Menyimpan DataFrame
CSV.write("temp/transformed_penguins.csv", delim = " ", decimal = ',')
Manipulasi Data di Julia

Ringkasan cepat

  • delim=: Char atau String untuk memisahkan nilai kolom; mis. species,island,...

  • decimal=: Char yang menunjukkan pemisah desimal pada float; mis. . pada 3.14

  • skipto=: Int untuk nomor baris di file tempat mulai memuat; hati-hati—header ikut dihitung!

  • limit=: Int untuk jumlah baris yang akan dimuat

  • header=: Int untuk nomor baris header, Vector{Int} untuk multi-baris, Vector{String} atau Vector{Symbol} untuk menulis ulang header

  • CSV.File(path) memuat file di path

  • CSV.write(path, df) menulis df sebagai CSV ke path

Dokumentasi untuk CSV.File() dan CSV.write

Manipulasi Data di Julia

Ayo berlatih!

Manipulasi Data di Julia

Preparing Video For Download...