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.