WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Gruppierte Dateien erkennen und in *.mat speichern!

 

alex85
Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 06.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2009, 17:12     Titel: Gruppierte Dateien erkennen und in *.mat speichern!
  Antworten mit Zitat      
Habe folgendes Problem:

In meinem Ordner liegen mehrere Excel Dateien, wovon immer eine gewisse Anzahl zusammengehören, wie z.B.:

10_aaa_01.xls
10_aaa_02.xls
10_aaa_03.xls
10_bbb_tt_01.xls
10_bbb_tt_02.xls
ggg_01.xls
ggg_02.xls
ggg_03.xls

Diese Dateien möchte ich nun nacheinander öffnen und dann den Inhalt der zusammengehörenden Dateien jeweils in einem *.mat-File ablegen. Wie kann ich aber Matlab sagen, dass er jeweils nach 10_aaa_03, 10_bbb_tt_02 und ggg_03 ein neues *.mat-File verwenden soll?!
Es muss halt für eine beliebige Namensgebung und Anzahl der zu einer Gruppierung gehörenden Dateien funktionieren.
Private Nachricht senden Benutzer-Profile anzeigen


alex85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 06.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2009, 21:58     Titel:
  Antworten mit Zitat      
Ich habe mal was programmiert, ist vielleicht etwas umständlich, aber eine andere Lösung ist mir nicht eingefallen.

Habe Testweise 5 Dateien (aa_01, aa_02, bb_01, bb_02, bb_03) in ein Ordner gelegt und die Routine drüberlaufen lassen. Problem ist jetzt noch, dass ich bei bb.mat jetzt eine Matrix mit 5 Spalten bekomme. Die ersten beiden Spanten sind mit 0 gefüllt. Mir ist schon klar, woran das liegt, jedoch habe ich kein Lösungsansatz. Ich hätte die Spaltenvektoren aus Spalte 3-5 natürlich gerne in der Spalte 1-3. Bitte um Hilfe.

Code:
clear all; clc;

start = 'c:';
batchdir0 = uigetdir (start, 'Select day/maneuver folder');
batchdir1 = dir([batchdir0,'/*.xls']);

% Anzahl der Zeichen von Laufnummer bis Ende, z.B. '_01_D_.xls' = 10
length_ending=7;

for i=1:length(batchdir1)
 
    % Einlesen der Daten aus *.xls-File
    [num,txt] = xlsread([batchdir0, '\',  batchdir1(i).name]);
   
    % Laufnummern + Ende von Namen entfernen und i / i+1 miteinander vergleichen
    name = batchdir1(i).name(1:end-length_ending);
    try    
        name1 = batchdir1(i+1).name(1:end-length_ending);
    catch
    end
           
    switch i
        case length(batchdir1)
            % Daten-Matrix erstellen
            s = [name, '(:,i) = num(:,2);'];
            eval(s);
            % Matrix in *.mat-File speichern
            save([name,'.mat'], name);
            movefile([name,'.mat'], batchdir0);
        otherwise
            if strcmp(name,name1) == 1
                % Daten-Matrix erstellen
                s = [name, '(:,i) = num(:,2);'];
                eval(s);
            else
                % Matrix in *.mat-File speichern
                s = [name, '(:,i) = num(:,2);'];
                eval(s);
                save([name,'.mat'], name);
                movefile([name,'.mat'], batchdir0);
            end
    end
end
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.