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 Kommentar

Stephen23
Stephen23 am 12 Dez. 2017
Bearbeitet: Stephen23 am 12 Dez. 2017
Ugh. Who writes files like that? Why did they have to put quotation marks around numeric values?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Stephen23
Stephen23 am 12 Dez. 2017

2 Stimmen

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).

Kategorien

Gefragt:

am 11 Dez. 2017

Beantwortet:

am 12 Dez. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by