Using textscan with multiple input formats

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 个评论

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

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Large Files and Big Data 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by