Here is a CSV data in one of my file has :
“DE”,“Klasse”,“Deutsch”, “x”
“EN”,“Class”,“Carpenter”,
“DE”,“Klasse”,“Mathe”,
,
Code I wrote :
require ‘csv’
input_file_path = File.expand_path(‘input.csv’,File.dirname(FILE))
output_file_path = File.expand_path(‘output.csv’,File.dirname(FILE))
option = { :skip_blanks => true,
:quote_char => “’”,
:converters => CSV::Converters[:remove_quotes] = lambda do
|field|
field.to_s.tr(’"’,’’)
end
}
CSV.open(output_file_path,‘w’,:force_quotes => true) do |out_row|
CSV.foreach(input_file_path, option) do |in_row|
row_to_add = in_row.reject(&:empty?)
unless row_to_add.empty?
row_to_add.last[/\s+x/i] ? out_row.puts(row_to_add[0…-2]) :
out_row.puts(row_to_add)
end
end
end
output ( also expected )
“EN”,“Class”,“Carpenter”
“DE”,“Klasse”,“Mathe”
But my question is -
How can I skip lines like , using option :skip_lines (
http://www.ruby-doc.org/stdlib-2.0/libdoc/csv/rdoc/CSV.html#method-c-new)
Thanks