朱莉娅-重写CSV

奥哈德

在这里完成Julia newbie。
我想对CSV进行一些处理。类似于以下内容:

using CSV

in_file = CSV.Source('/dir/in.csv')
out_file = CSV.Sink('/dir/out.csv')

for line in CSV.eachline(in_file)
    replace!(line, "None", "")
    CSV.writeline(out_file, line)
end

这是伪代码,不是现有函数。
习惯上,我应该重复1:CSV.countlines(in_file)吗?做一个while,检查一下吗?

阿维克斯

如果您要做的只是替换行中的字符串,则不需要任何CSV解析实用程序。您要做的就是逐行读取文件,替换并写入。所以:

infile = "/path/to/input.csv"
outfile = "/path/to/output.csv"
out = open(outfile, "w+")
for line in readlines(infile)
     newline = replace(line, "a", "b")
     write(out, newline)
 end
 close(out)

这将复制您在问题中使用的伪代码。

如果需要按字段解析和读取csv字段,请使用readcsvbase中函数。

data=readcsv(infile)
typeof(data) #Array{Any,2}

这将以二维数组形式返回文件中的数据。您可以按照需要的任何方式处理此数据,然后使用该writecsv函数将其写回

for i in 1:size(data,1) #iterate by rows 
      data[i, 1] = "This is " * data[i, 1]  # Add text to first column
end
writecsv(outfile, data)

这些功能的文档:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章