From: sylvain.laperche@... Date: 2014-02-08T05:53:30+00:00 Subject: [ruby-core:60573] [ruby-trunk - Bug #8784] CSV - Empty fields are discarded when col_sep is a space Issue #8784 has been updated by Sylvain Laperche. File bug_csv_col_sep.rb added The bug is still present in Ruby 2.1.0 % ruby -v ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux] The attached script prints: [["2009", "2", "3", "8", "0", nil, "30.1", nil, nil]] [["2009", "2", "3", "8", "0", "30.1", nil]] instead of: [["2009", "2", "3", "8", "0", nil, "30.1", nil, nil]] [["2009", "2", "3", "8", "0", nil, "30.1", nil, nil]] ---------------------------------------- Bug #8784: CSV - Empty fields are discarded when col_sep is a space https://bugs.ruby-lang.org/issues/8784#change-45021 * Author: Sylvain Laperche * Status: Open * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] * Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN ---------------------------------------- When using space as column delimiter, empty fields are discarded. With other delimiters, like comma, empty fields are correctly retrieved. The following code reproduces the problem: ******************************************************************************** #!/usr/bin/env ruby require 'csv' print(CSV.parse('2009,2,3,8,0,,30.1,,')) puts print(CSV.parse('2009 2 3 8 0 30.1 ', col_sep: ' ')) puts ******************************************************************************** *Expected output* [["2009", "2", "3", "8", "0", nil, "30.1", nil, nil]] [["2009", "2", "3", "8", "0", nil, "30.1", nil, nil]] *Current output* [["2009", "2", "3", "8", "0", nil, "30.1", nil, nil]] [["2009", "2", "3", "8", "0", "30.1", nil]] ---Files-------------------------------- bug_csv_col_sep.rb (142 Bytes) -- http://bugs.ruby-lang.org/