在ruby中从csv文件中删除拖尾逗号

在ruby中从csv文件中删除拖尾逗号,ruby,csv,Ruby,Csv,在csv文件中,我想去掉尾随的逗号,但逗号的数量在长度上有所不同。所以我不能用gsub来移除它们。有人知道如何读取csv文件、从行中删除任何尾随逗号并重写到同一个csv文件吗?您可以逐行读取文件和子所有尾随,s。您无法直接编辑该文件,因此最好创建一个TempFile,并在完成后用它替换csv文件。在这里: require 'fileutils' require 'tempfile' t_file = Tempfile.new('temp.txt') File.open("/path/to/csv

在csv文件中,我想去掉尾随的逗号,但逗号的数量在长度上有所不同。所以我不能用gsub来移除它们。有人知道如何读取csv文件、从行中删除任何尾随逗号并重写到同一个csv文件吗?

您可以逐行读取文件和
所有尾随
s。您无法直接编辑该文件,因此最好创建一个
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")

CSV行可以跨越多行,即“行结束”不必是“行结束”。