CSV

文件格式

「Comma-separated-values(CSV)」文件是轻量级而实用的表格存储方式,使用 .csv 作为扩展名。 CSV 文件相比其他数据存储文件有两点优势:

  1. 正如名称所指示的那样,它使用逗号来分隔存储值

  2. 可以使用简单的文本编辑器读取数据(这与许多需要专有软件的数据格式(如 Excel)不同)

包的使用

先创建一个 DataFrame 量:

julia> using DataFrames

julia> fr=DataFrame(;name=["sand","ice"], trans=["沙子","冰块"])
2×2 DataFrame
 Row │ name    trans
     │ String  String
─────┼────────────────
   1 │ sand    沙子
   2 │ ice     冰块

CSV.write 写入

julia> using CSV

julia> CSV.write(stdout,fr);
name,trans
sand,沙子
ice,冰块

对于特殊的数据(例如带逗号),CSV 会以特别的方式处理:

julia> fr.name[2]="i,ce"
"i,ce"

julia> fr
2×2 DataFrame
 Row │ name    trans
     │ String  String
─────┼────────────────
   1 │ sand    沙子
   2 │ i,ce    冰块

julia> CSV.write(stdout,fr);
name,trans
sand,沙子
"i,ce",冰块

解决此问题的另一种常见方法是将数据写入「tab-separated values(TSV)」文件格式。该格式假设数据不包含制表符,而这通常是成立的

julia> CSV.write(stdout,fr;delim='\t');
name    trans
sand    沙子
i,ce    冰块

反过来,可以用 CSV.read 从流中读入:

julia> buf=IOBuffer("name\ttrans\nsand\t沙子\ni,ce\t冰块");

julia> CSV.read(buf,DataFrame;delim='\t') # 需指定读入类型
2×2 DataFrame
 Row │ name    trans
     │ String  String
─────┼────────────────
   1 │ sand    沙子
   2 │ i,ce    冰块

参阅

  • 1

    https://cn.julialang.org/JuliaDataScience/load_save