Reading a csv file with " " separators

8 Ansichten (letzte 30 Tage)
kostas asamidis
kostas asamidis am 11 Dez. 2017
Beantwortet: Stephen23 am 12 Dez. 2017
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
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

Mehr zu Workspace Variables and MAT Files finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by