textscan in Matlab when delimiter is in a field an

2019-08-08 20:06发布

问题:

Using textscan I'm trying to read a file that has comma separated data in the following format:

"1234","24.0","Hello, my name is Joe"
"4567","25,0","Hi, I'm Jane"

The non-delimiter comma in the third field are problematic and I ultimately don't want the "" around the pieces of data.

I've tried the following, but it leaves a " on the end of the last field. I can remove this any number of ways, but I find it quite annoying and am sure there is a smarter way. Any ideas?

textscan(fileId, '"%s %s %s', 'Delimiter', {'","'})

Using %s" for the last part of the formatSpec seems natural, but isn't working.

回答1:

you could do this

textscan(fileID,'%q,%q,%q','Delimiter','\n');