Borrar filtros
Borrar filtros

Comma Separated Imported Data

9 visualizaciones (últimos 30 días)
Cameron Power
Cameron Power el 12 de Jun. de 2018
Comentada: Cameron Power el 14 de Jun. de 2018
I have a csv file that is separated by commas without spaces and with will not be separated into multiple variables. Is there something I can do in Matlab? I tried tooling with the delimiter options but to no evail, thank you (I have attached one of the files).

Respuesta aceptada

Walter Roberson
Walter Roberson el 13 de Jun. de 2018
S = fileread(FileName);
S(S == '"') = [];
fmt = '%f%f%f%f%f%f';
data = cell2mat( textscan(S, fmt, 'HeaderLines', 1, 'Delimiter', ',', 'CollectOutput', true) );
Now data is a numeric array with 6 columns.
Potentially you might want to use
dd = data(:,1:4);
dd(:,5:6) = 0; %add minutes and seconds column
dt = datetime(dd);
Now dt would express the dates and times as datetime objects. That can be useful in analysis, such as
Wind_Direction = data(:,5);
Windspeed = data(:,6);
T = timetable(Wind_Direction, Windspeed, 'Rowtimes', dt);
and then you can do things like
retime(T, 'daily')
which would give you the daily average wind direction and windspeed.
(However, this in itself would not know about wrapping directions at 360 so the average wind direction could be wrong, such as near 2016,01,24,00)
  3 comentarios
Walter Roberson
Walter Roberson el 13 de Jun. de 2018
FileName = 'test.csv';
Cameron Power
Cameron Power el 14 de Jun. de 2018
Brilliant, thank you all.

Iniciar sesión para comentar.

Más respuestas (1)

Jan
Jan el 13 de Jun. de 2018
Remove the double quotes at first:
S = fileread(FileName);
S(S == '"') = [];
fid = fopen(FileName, 'w');
fwrite(fid, S, 'char');
fclose(fid);
Then the standard tools should word: readtable, csvread, sscanf, textscan.
  2 comentarios
Cameron Power
Cameron Power el 13 de Jun. de 2018
Forgive me if I am being oblivious but how do I implement this?
Walter Roberson
Walter Roberson el 13 de Jun. de 2018
... That is the implementation, other than the fact that you would proceed from there to
T = readtable(FileName);

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by