Julia 中的数据操作
Katerina Zahradova
Instructor
","、" "、"\t" 等# 使用空格作为分隔符加载文件
penguins = DataFrame(CSV.File("penguins.csv",delim=" "))
3.143,14
# 使用逗号作为小数标记加载文件
penguins = DataFrame(CSV.File(
"penguins.csv",
decimal=',', delim=" "))
# 加载第 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 ...
# 将某一行作为表头
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 ...
...
# 多行表头
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 ...
...
# 替换表头
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 ...
...
# 保存 DataFrame
CSV.write("temp/transformed_penguins.csv", delim = " ", decimal = ',')
delim=:用于分隔列值的 Char 或 String,如 species,island,...
decimal=:指示浮点小数分隔符的 Char,如 3.14 中的 .
skipto=:Int,从文件的第几行开始读取;注意:包含表头!
limit=:Int,要读取的行数
header=:Int 表示表头行号,Vector{Int} 表示多行,Vector{String} 或 Vector{Symbol} 用于重写表头
CSV.File(path) 读取 path 中的文件
CSV.write(path, df) 将 df 写为 path 下的 CSV
CSV.File() 与 CSV.write 文档
Julia 中的数据操作