How to manipulate a series of .csv files after reading it inside a for loop?
3 次查看(过去 30 天)
显示 更早的评论
I am trying to read a series of.csv files and then trying to extract a particular row depending on a specific value of 1st 2 columns and then writing that particular row in another .csv file. That specific row has to be extracted from each of the input files and then the output file should contain all the extracted rows. But in my code , it is taking only the last file of the series. How can I get it for all the input files? I am attaching a pic of my code. Thank you.
采纳的回答
DGM
2022-2-8
It seems to be picking up and writing all three lines to the file. The output formatting is messed up, but it's all there.
I edited the fprintf() call:
d = dir('*_rain.csv');
n = length(d);
data = cell(n,1);
for i = 1:n
data{i} = csvread(d(i).name,1,0);
file = data{i};
ind1 = file(:,1) == 91.75 & file(:,2) == 26.25;
a = file(ind1,:);
fid = fopen('sorted.txt','a+');
fprintf(fid, [repmat('%f, ',1,11) '%f\n'],a.');
fclose(fid);
end
I attached the output file.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Text Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!