reading quoted strings with comma in a csv file

29 views (last 30 days)
Hi,
What is the best way to handle common in a CSV file .
For example I have a Comma separated value like the following .
123,'where are, you going',345,city
I was not able to read the above properly , because matlab was considering the comma after """where are, """ as a separator .But this comma is actually a part of value .
Could you please let me know how to handle this with regular expression ?
regards Mahesh

Answers (2)

Dahai Xue
Dahai Xue on 28 Jan 2015
Edited: Dahai Xue on 28 Jan 2015
On a PC with Excel installed, it is easy to use this statement
[~, ~, myTable] = xlsread('myFile.csv').
It handles quotes nicely. The 1st output is for numeric data only, and 2nd for strings only, while the 3rd for both in cells. The 3rd output must be used to keep the headers in the table.
  1 Comment
Al in St. Louis
Al in St. Louis on 20 May 2022
Thank you. I can't believe that readtable still can't parse this correctly.

Sign in to comment.


per isakson
per isakson on 4 Feb 2014
Edited: per isakson on 4 Feb 2014
Try textscan in combination with
'%q'
String, where double quotation marks indicate text to keep together
Single quotation mark might not be supported.
See the answer on comma and point decimal separator. You might be able to use that method to replace single quotes by double quotes.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!