Reading a csv file with " " separators

Hi ,
I have a big dataset(timeseries) in a csv file. It has the form bellow:
"step","data","prediction-1step","prediction-5step"
"int","float","float","float"
"","","",""
"1","21.2","0","0"
"2","16.4","0","0"
"3","4.7","0","0"
..................
..................
"15022","25.7","3.23","21.3"
I want to read the dataset in a way that i can access it by (Lets say i assign it in variable: Variable), Variable.step(i), Variable.data(i). Is that possible?I am new in Matlab and i cant find a way doing this. Thanks in advance.

1 个评论

Ugh. Who writes files like that? Why did they have to put quotation marks around numeric values?

请先登录,再进行评论。

回答(1 个)

opt = {'Delimiter',',"', 'MultipleDelimsAsOne',true, 'HeaderLines',3};
[fid,msg] = fopen('test.csv','rt');
assert(fid>=3,msg)
C = textscan(fid,'%f%f%f%f',opt{:});
fclose(fid);
M = cell2mat(C)
Giving:
M =
1 21.2 0 0
2 16.4 0 0
3 4.7 0 0
15022 25.7 3.23 21.3
The test file is attached (you did not provide a test file, so I had to create my own).

类别

在 帮助中心 和 File Exchange 中查找有关 Data Import and Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by