Tải và ghi tệp CSV

Xử lý dữ liệu trong Julia

Katerina Zahradova

Instructor

Dấu phân cách

  • Dấu phân cách = ký tự hoặc chuỗi dùng để tách giá trị
  • Ví dụ dấu phân cách: ",", " ", "\t", ...
# Tải tệp với dấu cách làm dấu phân cách
penguins = DataFrame(CSV.File("penguins.csv",delim=" "))
Xử lý dữ liệu trong Julia

Dấu thập phân

  • Dấu chấm thập phân (màu xanh), ví dụ: 3.14
  • Dấu phẩy thập phân (màu xanh lá), ví dụ: 3,14
  • Cả hai (xanh lá đậm)
  • Dấu thập phân Ả Rập (màu đỏ)

Dấu thập phân trên thế giới

# Tải tệp với dấu phẩy làm dấu thập phân
penguins = DataFrame(CSV.File(
        "penguins.csv",
        decimal=',', delim=" "))
1 Bởi NuclearVacuum, Wikipedia
Xử lý dữ liệu trong Julia

Tải một phần tập dữ liệu

# Tải các dòng 13 đến 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             ...
Xử lý dữ liệu trong Julia

Header

# Chỉ định header là một dòng
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             ...
...
Xử lý dữ liệu trong Julia

Header trên nhiều dòng

# Header nhiều dòng
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                   ...
...
Xử lý dữ liệu trong Julia

Thay thế header

# Thay thế 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             ...
...
Xử lý dữ liệu trong Julia

Ghi tệp CSV

# Lưu DataFrame
CSV.write("temp/transformed_penguins.csv", delim = " ", decimal = ',')
Xử lý dữ liệu trong Julia

Ghi nhớ nhanh

  • delim=: một Char hoặc String ngăn cách giá trị trong cột; ví dụ: species,island,...

  • decimal=: một Char chỉ ký hiệu thập phân trong số thực; ví dụ: . trong 3.14

  • skipto=: một Int chỉ số dòng trong tệp để bắt đầu tải; lưu ý: gồm cả header!

  • limit=: một Int chỉ số dòng cần tải

  • header=: một Int là số dòng của header, Vector{Int} cho nhiều dòng, Vector{String} hoặc Vector{Symbol} để ghi lại header

  • CSV.File(path) tải tệp tại path

  • CSV.write(path, df) ghi df thành CSV tại path

Tài liệu cho CSV.File()CSV.write

Xử lý dữ liệu trong Julia

Ayo berlatih!

Xử lý dữ liệu trong Julia

Preparing Video For Download...