2016-07-05 12 views
0

すべてが計算を完了してから、すべての結果が新しいシートにまとめられます(70,000行になります)。 日付でソートする必要があります。Excelシートをループして計算を実行し、結果をコンパイルする方法

私は非常に非常にmatlabで貧弱ですが、私は各Excelシートで行うスクリプトが必要です。私はそれがすべてのためにそれらを行う方法を確信しています。 ありがとうございました!

filenames=dir('*.csv') 

と私は有用である可能性があること、この発見:

filenames=dir('*.csv'); 

    for file=filenames' 

    csv=load(file.name); 





with stuff in here 


end 
を私はの線に沿って何かをする必要があると思う

%Reading in excel sheet 

    B = xlsread('24259893-008020361800.TorqueData.20160104.034602AM.csv'); 



%Creating new matrix 

    [inYdim, inXdim] = size(B); 

    Ydim = inYdim; 

    [num,str,raw]=xlsread('24259893-008020361800.TorqueData.20160104.034602AM.csv',strcat('A1:C',num2str(Ydim))); 



%Extracting column C 

    C=raw(:,3); 

    for k = 1:numel(C) 

     if isnan(C{k}) 

     C{k} = ''; 

    end 

end 


%Calculations 

    TargetT=2000; 

    AvgT=mean(t12); 

    TAcc=((AvgT-TargetT)/TargetT)*100 ; 

    StdDev=std(B(ind1:ind2,2)); 

    ResTime=t4-t3; 

    FallTime=t6-t5; 

    DragT=mean(t78); 

    BreakInT=mean(t910); 

    BreakInTime=(t10-t9)/1000; 

    BreakInE=BreakInT*BreakInTime*200*.1047; 






%Combining results 

    Results=[AvgT TAcc StdDev ResTime FallTime DragT BreakInT BreakInTime BreakInE] 

を(私は重要ではないコードの一部を取り出しました)

+0

「[matlabのフォルダ内のファイルをループ]」の複製が可能です(http://stackoverflow.com/questions/11621846/loop-through-files-in-a-folder-in-matlab) – excaza

+0

からの最後のビットですが、すべてのシートが同じディメンションではないというエラーが表示されます。 iとjで何かする必要はありませんか?私はその部分のやり方も知らない。 –

+0

あなたの質問にどこでもそれが表示されません... – excaza

答えて

0

あなたは正しいアイデアを持っていますが、forループでそれらのステップを実行できるようにするには、ファイル名のインデックスを作成する必要があります。

FileDir = 'Your Directory'; 
FileNames = {'Test1';'Test2';'Test3'}; 
for k=1:length(FileNames) 
    file=[FileDir,'/',FileNames{k}]); 
    [outputdata]=xlsread(file,sheet#, data locations); 
    THE REST OF YOUR LOOP, Indexed by k 
end 

どのようにファイル名とディレクトリを取得するかはあなた次第です。

+0

ありがとうございました!私はこれを試してみます –

+0

こんにちは、私はすべての私のファイルを通過するためのコードを持っています(まあ、私は今10でそれをテストしています)。 FileNamesが何を意味するのかよく分かりません。私はすべての70,000をリストすることはできません:( –

+0

私はちょうどそれらの3つのファイル名を打ち込んだ。あなたは 'dir'コマンドを使用してすべてのファイル名を取得することができます' STRUCT = dir;答えが保存されていることを確認する(STRUCTは任意の名前にすることができます)。ファイル名がSTRUCT.nameの構造体に格納されます。次に、 'FileNames = {STRUCT .name}; 'これは、あなたのディレクトリ内のすべてのファイルに対して変数' FileNames'を生成します。異なる長さのファイル名を持つことは問題ではありません –

関連する問題