Hi,
I am doing a finctionality to import csv file.
My CSV file is like this
Header-- Name,Address,Details
Data-- Tushar, sangavi,pune, I am a ror developer
My controller code is:-
@parsed_file=CSV::Reader.parse(params[:dump][:file])
@parsed_file.each do |row|
p row[1]
p row[2]
end
My problem is if you looked at it that address is "sangavi,pune". But
whenever I am printing the row values. I am getting row[1] as
"sangavi"
and row[2] as "pune", which is not correct, Can anyoneone tell me how
should I solve this problem?
--
Posted via http://www.ruby-forum.com/.
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.
> > My problem is if you looked at it that address is "sangavi,pune". But > whenever I am printing the row values. I am getting row[1] as "sangavi" > and row[2] as "pune", which is not correct, Can anyoneone tell me how > should I solve this problem? >Get the original data in a better format than CSV? Get the provider of the original data to export to CSV properly so address becomes "sangavi,pune" rather than sangavi,pune? Make a guess (probably incorrect) that the address may have multiple commas, but the details won''t - then do pre-processing on the file (or stream) using regexes to wrap the address in quotes? GOOD LUCK! Cheers, Andy -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Tushar Gandhi wrote:> Hi, > I am doing a finctionality to import csv file. > My CSV file is like this > Header-- Name,Address,Details > Data-- Tushar, sangavi,pune, I am a ror developer > > My controller code is:- > @parsed_file=CSV::Reader.parse(params[:dump][:file]) > @parsed_file.each do |row| > p row[1] > p row[2] > end > > My problem is if you looked at it that address is "sangavi,pune". But > whenever I am printing the row values. I am getting row[1] as "sangavi" > and row[2] as "pune", which is not correct, Can anyoneone tell me how > should I solve this problem?The data is being parsed correctly, it''s the data format that is incorrect. For sanity''s sake, strings should always be delimited by double-quotes in CSV, as in: "Tushar","sangavi, pune","I am a ror developer" The line Tushar, sangavi, pune, I am a ror developer has 4 elements which are comma separated. Given that one of your fields is ''details'', what happens if the data is: Tushar, sangavi, pune, I am a ror developer, and I like curry, cricket, and Bollywood movies. Enclose those strings in quotes. -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.