Добавление чего-либо к ответу @ Stefan (вся заслуга ему за подсказку skip_lines), при условии, что ваш файл csv input.csv :
require "csv"
CSV.open("output.csv", "wb") do |output_csv|
CSV.foreach("input.csv", skip_lines: /^#/, headers: true) do |row|
# ...
output_csv << row
end
end
Таким образом, вы получите файл output.csv без этих комментариев.
РЕДАКТИРОВАТЬ: Если вы хотите также заголовок, вы можете сделать:
CSV.open("output.csv", "wb") do |output_csv|
CSV.foreach("input.csv", skip_lines: /^#/, headers: true).with_index(0) do |row, i|
output_csv << row.headers if i == 0
puts row
output_csv << row
end
end
... Это не так чисто, как я хочу, но соответствует вашим потребностям;)