Extracting particular rows and column from bunch of excel files and saving into one file
3 次查看(过去 30 天)
显示 更早的评论
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)));
0 个评论
采纳的回答
Ameer Hamza
2020-11-29
编辑:Ameer Hamza
2020-11-29
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 个评论
Ameer Hamza
2020-11-30
I am not sure why it is reading 9 instead of 15 columns. Can you attach a file?
"this line only giving me 1 column at the end"
You mentioned in your question that you only want 3rd column.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!