我想读取CSV文件,其中列以逗号分隔。列可以是字符串,如果这些字符串在其内容中包含逗号,则它们用双引号括起来。目前我正在使用以下方式加载我的数据:
file = open("data.csv","r")
data = readcsv(file)
但是这段代码会将后面的字符串分成4个部分,而它只应该是3:
1,“text,more text”,3,4
Julia的标准库中有没有办法在尊重引用的同时解析CSV,还是我必须编写自己的自定义解决方案?
答案 0 :(得分:7)
基础中的readcsv
函数是超基础的(只是盲目地分裂逗号)。
您可能会对DataFrames.jl包中的readtable
感到满意:http://juliastats.github.io/DataFrames.jl/io.html
要使用该包,您只需要Pkg.add(“DataFrames”),然后使用`using DataFrames'导入它
答案 1 :(得分:4)
base(0.3预发行版)中的readcsv
函数现在可以读取引用的列。
julia> readcsv(IOBuffer("1,\"text, more text\",3,4"))
1x4 Array{Any,2}:
1.0 "text, more text" 3.0 4.0
它比DataFrames
简单得多。但如果您只需要将数据作为数组,则可能会更快。