在这里完成 Julia 新手。
我想对 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
Run Code Online (Sandbox Code Playgroud)
这是伪代码,那些不是现有的功能。
习惯上,我应该迭代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)
Run Code Online (Sandbox Code Playgroud)
这将复制您在问题中的伪代码。
如果需要逐字段解析读取csv,请使用readcsvbase中的函数。
data=readcsv(infile)
typeof(data) #Array{Any,2}
Run Code Online (Sandbox Code Playgroud)
这会将文件中的数据作为二维数组返回。您可以以任何方式处理这些数据,然后使用该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)
Run Code Online (Sandbox Code Playgroud)
这些函数的文档: