在一个csv文件中,我有一些我想要删除的尾随逗号,但逗号的长度各不相同。所以我不能使用gsub删除它们。有没有人知道一种方法来读取csv文件,删除行中的任何尾随逗号,并重写为相同的csv文件?
答案 0 :(得分:1)
您可以逐行阅读文件,sub
所有尾随,
。您无法直接编辑该文件,因此最好的办法是创建TempFile
并在完成后用它替换您的csv文件。这里:
require 'fileutils'
require 'tempfile'
t_file = Tempfile.new('temp.txt')
File.open("/path/to/csv", 'r') do |f|
f.each_line{|line| t_file.puts line.chomp.sub(/,$/,'') }
end
t_file.close
FileUtils.mv(t_file.path, "/path/to/csv")