当我尝试从另一个目录中读取多个csv文件时遇到问题。在这里,我将展示我的代码的两个选项:
clc;clear;
fileID = fopen('results.txt','w');
fprintf(fileID, 'Name\t\t\t\t\t\t\t\t\t%%variation\t\tSteady-state\n');
% s=dir('*.csv');
s=dir('C:\Users\michael\Documents\MATLAB\Data\*.csv');
for i = 1:length(s)
s1= strsplit(s(i).name,'.'); %split string from csv
s3 = char(strcat(s1(1),'.png'));%concatenate .png and convert to string
a = csvread(s(i).name,1,0);
ind = find(a(:,1)==60); %75% before end electrification
ind2 = find(a(:,1)==(60-60*0.75));
err = (a(ind,2)-a(ind2,2))/a(ind,2)*100; %variation
fig=figure;
plot(a(1:ind,1),a(1:ind,2),a(ind2:ind,1),a(ind2:ind,2),'*')
xlabel('time [s]');ylabel('Volume resistivity [ohm.cm]');
legend('y(x)', sprintf('variation = %0.1f%%',err),'Location','Southeast');
saveas(fig,s3)
for n = length(err)
if err<5
YoN = 'Yes';
else
YoN = 'No';
end
end
fprintf(fileID, '%s\t\t%0.1f%%\t\t\t\t%s\n', s(i).name, err, YoN);
end
fclose(fileID);
基本上,当我将所有csv文件放在工作目录中并解开注释s = dir(&#39; * .csv&#39;)时,当我尝试从不同目录打开它们时,它可以正常工作,它一直有效直到a = csvred(s(i).name,1,0)。 那时它说:
Error using csvread (line 35)
File not found.
Error in Untitled (line 10)
a = csvread(s(i).name,1,0);
在这两种情况下,s是一个包含6个字段的结构,字段名称为&#39;确实存在于结构中。 有什么建议吗?