Using textscan with multiple input formats

3 views (last 30 days)
Billy Montana
Billy Montana on 25 Jun 2015
Edited: Billy Montana on 26 Jun 2015
I've been having trouble getting textscan to read a .csv file with integers, dates, and floats. The .csv is in this format (actual file attached):
1,00:00:00:00,21.772,21.418,22.028,21.564
2,00:00:00:10,21.792,21.444,22.038,21.57
3,00:00:00:19,21.798,21.444,22.045,21.579
The code I currently have is:
fid = fopen('test.csv');
raw = textscan(fid,'%u %{DD:HH:mm:ss}D %f %f %f %f','Delimiter',',','HeaderLines',5);
fclose(fid);
For some reason, this is giving me a 1x6 cell array of empty matrices, and no error messages.
Thanks in advance!
  2 Comments
per isakson
per isakson on 26 Jun 2015
Edited: per isakson on 26 Jun 2015
Your code requires a recent release of Matlab. Which do you use?
With R2013b
>> cac = textscan( '3,00:00:00:19,21.798,21.444,22.045,21.579' ...
, '%u%u%u%u%u%f%f%f%f', 'Delimiter',{':',','})
cac =
[3] [0] [0] [0] [19] [21.7980] [21.4440] [22.0450] [21.5790]
Billy Montana
Billy Montana on 26 Jun 2015
Edited: Billy Montana on 26 Jun 2015
I use R2014b, so I don't think that's a problem.
I figured out the problem - the file was named test.csv, but for some reason it was encoded as a .txt file. I resaved the file as .csv and it works now.
Also, thanks for the idea to not use datetimes for measuring time - it will be much easier to just calculate it.

Sign in to comment.

Answers (0)

Categories

Find more on Large Files and Big Data in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!