Using fopen for all .CSV files in a single folder

I am trying to read column C from all .CSV files in a single folder (which has data in columns A-E) and merge into one single column vector. I am using the following code:
w = 1;
z = [];
D = dir('C:\xxxxx\xxxx\xxx\xx\*.csv');
%
for k = 1:length(D)
fileID = (fopen(D(k,1).name,'r');
c = textscan(fileID,'%*d%*d%d%*d%*d', 'Delimiter', ',');
x = c{1,1};
fclose(fileID);
%
for n = 1:length(x)
z(w,1) = x(n);
w = w + 1;
end
end
There seems to be a problem with the fopen command as I am not able to read any values from the file.
When I test the code in the command prompt I am able to read values, but it is not working in the script with the loop.
I am not getting any errors, just not able to read any values.
Any ideas on what the problem is? Any suggestions? Thanks

 采纳的回答

Replace
fileID = (fopen(D(k,1).name,'r');
by
fileID = fopen( fullfile( folderspec, D(k,1).name), 'r' );
where
folderspec = 'C:\xxxxx\xxxx\xxx\xx';
and it will work - I've tested

2 个评论

Thank you once again Per for your great contribution. I believe this is what I needed to get it to work. Unfortunately, I am going to sleep now but will test it first thing in the AM.
Thanks again.
Yes this method worked, just as I expected. Thanks for all of your help!

请先登录,再进行评论。

更多回答(2 个)

Also consider checking out datastore as a way to treat many files as a single data source.
Try changing 'Delimeter' to 'Delimiter'.

3 个评论

Thanks for pointing that out and I wish that would have fixed the problem. However, that was just a typo when I transferred the code onto here.
Why are you retyping code? You can do a copy and paste you know, which would avoid these errors. I doubt anybody will do anything more until you read this and attach a sample data file - otherwise it's just guessing, and I assume you'd prefer a tested and proven solution over a guess.
Thanks for your help. I attached a sample .CVS file, maybe it will help. The rest of the code is correct.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Low-Level File I/O 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by