我有一个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文件中执行此操作?
答案 0 :(得分:1)
你想到的事情并不复杂,只需重写文件。
File.open(@filepath, 'w') { |f| f.puts(@file) }