From: James Gray Date: 2009-03-03T01:09:29+09:00 Subject: Re: how to read csv file which has :quote_char in data field On Mar 2, 2009, at 9:46 AM, Salil Gaikwad wrote: > How to do this using fastercsv? It's not really a good for for FasterCSV for the same reason's I explained in this message: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/329678 > i want to read data from a csv file and save it into the database. > my file xyz.csv contains following line > ,,,,"xyz",,,, > i want o/p of above row > as follows > nil,nil,nil,nil,"\"xyz\"", nil,nil,nil,nil > > currently i get > nil,nil,nil,nil,"\"xyz\"","" This seems to work: >> %Q{,,,,"xyz",,,,}.split(",", -1).map { |f| f.empty? ? nil : f } => [nil, nil, nil, nil, "\"xyz\"", nil, nil, nil, nil] > i am using following method to read the data > @parsed_file=FasterCSV.read("xyz.csv", :col_sep =>",", > :quote_char=>',', :force_quotes => true) Again, do not set :quote_char and :col_sep to the same value. That's impossible to parse. Also :force_quotes is only used when writing CSV, not reading it. James Edward Gray II