CVS.jl简介
CSV.jl 一个快速灵活的纯 Julia 库,用于处理带分隔符的文本文件。
在建立模型与模型计算的过程中,可以很好的解决数据导入问题,它能自动辨识文本数据类型,并将数据分隔。
它的应用场景是:使用数据之前的输入导入。
CSV.jl使用
基本实现
文件内容:
col1,col2,col3,col4,col5,col6,col7,col8
,1,1.0,1,one,2019-01-01,2019-01-01T00:00:00,true
,2,2.0,2,two,2019-01-02,2019-01-02T00:00:00,false
,3,3.0,3.14,three,2019-01-03,2019-01-03T00:00:00,true
使用以下代码导入文件
CSV.File("data.txt") #file为文件名,如"data.csv"、"data.txt"
默认情况下,CSV.File会自动检测这个文件的分隔符’,’,以及每列的类型。默认情况下,它将“空字段”视为missing(本示例中的整个第一列)。它还自动处理提升类型,例如第 4 列,其中前两个值为Int,但第 3 行具有Float64值 ( 3.14)。
自定义分隔符
文件内容:
col1::col2
1::2
3::4
使用以下代码导入文件
CSV.File("data.txt"; delim="::")
无标题情况
文件内容:
1,2,3
4,5,6
7,8,9
在没有标题的情况下,会默认把第一行当作标题,可以给定参数取消,使用以下代码导入文件
CSV.File("data.txt"; header=false) #取消标题
或者也可以手动给定标题
CSV.File("data.txt"; header=["col1", "col2", "col3"]) #手动给定标题
指定数据行数
文件内容:
col1,col2,col3
metadata1,metadata2,metadata3
extra1,extra2,extra3
1,2,3
4,5,6
7,8,9
假如我们期望的内容是从第四行开始,可以使用以下代码
CSV.File("data.txt"; skipto=4) #从第四行开始
或者
CSV.File("data.txt"; datarow=4)
读取数据段
文件内容:
col1,col2,col3
1,2,3
4,5,6
7,8,9
10,11,12
13,14,15
16,17,18
19,20,21
只需要读入某一段数据段
CSV.File("data.txt"; skipto=4,limit=1) #从第四行开始,读取1行
或者
CSV.File("data.txt"; skipto=4,footerskip=1) #从第四行开始,除去最后一行
转置
文件内容:
col1,1,2,3
col2,4,5,6
col3,7,8,9
用如下代码导入
CSV.File("data.txt"; transpose=true) #从第四行开始,读取1行
未完
那么,数据导入之后怎么调用或者处理呢?
见我的下一篇