matlab,读取从不同目录导入的多个文件.csv

时间:2017-09-25 07:36:57

标签: matlab csv

当我尝试从另一个目录中读取多个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;确实存在于结构中。 有什么建议吗?

0 个答案:

没有答案