MATLAB Answers

Extracting particular rows and column from bunch of excel files and saving into one file

3 views (last 30 days)
Hi,
I have bunch of excel files in the folder with a lot of data in them, only data is useful to me is in columnn 3 of each file. First row of each file is the header and I do not want to include the header in the extracted data so I want 3 column from each file and 2:1002 data in rows from every single file and after extraction want to save it in different csv file so I can further analyse the data. Trying since morning but still sucks to come up with the proper script. Need help!
Code tried so far:
folder = fullfile('C:','Users','muhammad','Desktop','Velocity');
files = dir( fullfile(folder, '*.csv') );
for ii = 1:length(files)
data = csvread(fullfile(folder,files(ii)));
res=youranalysisfunction(data([2:1002]:3));
end
Error:
Error using fullfile (line 67)
All inputs must be strings, character vectors, or cell arrays of character vectors.
Error in ExtractColumns (line 8)
data = csvread(fullfile(folder,files(ii)));

Accepted Answer

Ameer Hamza
Ameer Hamza on 29 Nov 2020
Edited: Ameer Hamza on 29 Nov 2020
files(ii) is a struct. You need to access the name property
data = csvread(fullfile(files(ii).folder,files(ii).name))
Also, on newer versions, it is better to use readmatrix(), you can skip the header line directly
folder = fullfile('C:','Users','muhammad','Desktop','Velocity');
files = dir( fullfile(folder, '*.csv') );
for ii = 1:length(files)
data = readmatrix(fullfile(files(ii).folder,files(ii).name), 'NumHeaderLines', 1)
res=youranalysisfunction(data(:,3));
end
  5 Comments
muhammad choudhry
muhammad choudhry on 30 Nov 2020
Please see the attached!
3rd column from each file!
so i have csv files with alot of data in it and all i want to extract the 3rd column from each file and collect them all togheter in a separate csv file and save it.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by