Problem for CSV import

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?

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

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.