Actions
Feature #10316
closedFailsafe CSV.foreach
Description
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 hsbt (Hiroshi SHIBATA) over 6 years ago
- Assignee deleted (
nobu (Nobuyoshi Nakada))
Updated by hsbt (Hiroshi SHIBATA) about 6 years ago
- Status changed from Open to Assigned
- Assignee set to kou (Kouhei Sutou)
Updated by kou (Kouhei Sutou) about 6 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
Actions
Like0
Like0Like0Like0Like0