如何在Julia中用双引号字符串解析CSV文件?

时间:2014-01-29 16:39:20

标签: string csv julia

我想读取CSV文件,其中列以逗号分隔。列可以是字符串,如果这些字符串在其内容中包含逗号,则它们用双引号括起来。目前我正在使用以下方式加载我的数据:

file = open("data.csv","r")
data = readcsv(file)

但是这段代码会将后面的字符串分成4个部分,而它只应该是3:

  

1,“text,more text”,3,4

Julia的标准库中有没有办法在尊重引用的同时解析CSV,还是我必须编写自己的自定义解决方案?

2 个答案:

答案 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简单得多。但如果您只需要将数据作为数组,则可能会更快。