importing CSV data with multiple formats in a row into MATLAB ?

5 views (last 30 days)
I have to read the following PMU data into MATLAB from a CSV data file including different formats of the data.
The first two rows of my data looks like. First row is header and second row is actual data.Also i need to skip date "2014/05/26" from the first entry.
Timestamp,Test:V+:Magnitude,Test:V+:Angle,Test:I+:Magnitude,Test:I+:Angle,Eldrich2:V+:Magnitude,Eldrich2:V+:Angle,Eldrich2:I+:Magnitude,Eldrich2:I+:Angle
2014/05/26 15:27:17.140,2.4305,170.3142,0.4488,122.2368,2.9103,-129.0612,0.463,23.9783
Do you help me with a code to solve it?

Accepted Answer

dpb
dpb on 27 May 2014
Try sotoo of--
fid = fopen('abcd.csv','r');
fmt=['%*s %2d:%2d:%2d.%3d repmat('%f',1,9)];
C = textscan(fid, fmt,'headerlines',1','delimiter',',','collectoutput',true);
fid=fclose(fid);
NB: AIRCODE, untested, salt to suit...

More Answers (1)

dpb
dpb on 27 May 2014
Many options in Matlab; probably the simplest to code is
[dat,txt]=xlsread(yourfile);
_dat_ will be an array of the numeric data while _txt_ will contain the text in a cell
You can force into given forfmats via textscan and/or textread
  1 Comment
Farhan
Farhan on 27 May 2014
I am using textscan for this. Code:
% to read CSV file fid = fopen('abcd.csv'); C = textscan(fid, '%s %f %f %f %f %f %f %f %f'); fclose(fid);
But its not working.
Could help me to identify the problem?

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!