I've been looking for a CSV.foreach equivalent which either
- ignores malformed CSV rows
- or returns a nil row or a row with a parsed success flag.
Can I collaborate to develop this functionallity? Symply sending a patch here?
Updated by kou (Kouhei Sutou) over 4 years ago
- Status changed from Assigned to Rejected
You can implement it with the following code:
CSV.open(path) do |csv| loop do begin row = csv.shift rescue ArgumentError # For old csv library # ignore rescue CSV::MalformedCSVError # For the latest csv library (not released yet) # ignore else # Do what you want with "row" end end end
See also: https://github.com/ruby/csv/issues/25