Using readtable with double-quote strings in .csv file
조회 수: 19(최근 30일)
I am trying to read in a .csv file with double-quoted strings (i.e. "asdf") separated by commas. It does not seem that readtable can handle this gracefully when I have a string that contains a comma (i.e. "asdf,asdf"). It sees this as additional columns or something. The .csv file works fine with Excel 2007.
A sample/example file 'runFile.csv' with 3 columns. The top-row is:
"runName" is an arbitrary string that may contain commas. "runCount", "resultVal" are doubles/integers.
Full sample file:
When I run this in R2014b-64b (under Windows 7, 64-bit), I get:
>> T = readtable('runFile.csv')
Error using readtable (line 129)
Cannot interpret data in the file "runFile.csv'. Found 4 variable names but 6 data columns. You may need to specify a different format string, delimiter, or number of header lines.
I tried to use the extra parameter 'Format' with '%s%f%f' or something, but could not get it to work. I tried variations like '"%s"%f%f or something to no success.
I see that the release notes for R2014b shows some note about writetable now supporting double-quote strings using the 'QuoteStrings' parameter, but I could not find much more about this, or whether it is supported in readtable.
Kuang-Chieh Yen 2016년 9월 10일
편집: Kuang-Chieh Yen 2016년 9월 10일
The data format, %q, can be used to read data with double-quotes. So, you should replace %f and by %q. Maybe it works well. Moreover, I also recommend to run "datastore", for example
% get the information of yourdata
ds = datastore('yourdata.csv');
% import yourdata into T
T = read(ds);
HOPE IT USEFUL !