通过迭代行

时间:2016-01-15 12:09:41

标签: ruby csv

我有一个CSV文件,我想在特定索引处删除一行。

CSV.foreach(@filepath, @csv_options) do |row|
    # delete row if row's index == n 
end

我找到了替代解决方案,方法是将CSV文件存储在@file变量中并执行@file.delete_at(n),但它实际上并未将其从CSV文件中删除。我想删除CSV文件并复制@file中存储的内容,但这看起来太复杂了。

有没有办法直接从CSF文件中执行此操作?

1 个答案:

答案 0 :(得分:1)

你想到的事情并不复杂,只需重写文件。

File.open(@filepath, 'w') { |f| f.puts(@file) }