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

Probleme beim Datenauslesen mit uigetdir

 

Nekrokeks
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 12.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 12.12.2013, 11:57     Titel: Probleme beim Datenauslesen mit uigetdir
  Antworten mit Zitat      
Hallo zusammen,

konnte zu meinem Problem nix Konkretes in der Suche finden.

Ich möchte Excel-Dateien auslesen und tue das bisher mit:

D = rdir('Y:\neuer datensatz\20130314\*\*.xls');

Ich möchte dies aber mit dem uigetdir-command ändern... Also ist mein Ansatz:

D = uigetdir\'*\*.xls';

Wenn alle Daten ausgelesen werden ist D ein struct, aber mit meinem Befehl ließt er nur ganz wenige Daten aus und es ist ein Double....

Vielen Dank für eure Hilfe Smile
Private Nachricht senden Benutzer-Profile anzeigen


Nekrokeks
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 12.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 12.12.2013, 14:59     Titel:
  Antworten mit Zitat      
Hmm...

Also mittlerweile vermute ich, dass der Pfad, den ich mit uigetdir auswähle dann nicht in '...' steht. Somit sieht er es nicht als den Namen eines Pfades an oder?

Ich frage mich nur wie ich das beheben kann... :/
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 12.12.2013, 15:09     Titel:
  Antworten mit Zitat      
Hallo

UIGETDIR liefert nur den Pfad zum ausgewählten Ordner,
die Unterordner oder Dateien musst du über DIR Befehl suchen

Code:

D = uigetdir(''Y:\neuer datensatz\20130314\');
if isequal(D, 0)
   disp('Benutzer hat die Selektion abgebrochen')
   return
end

xlsFiles = dir(fullfile(D,'*.xls'))


 
Private Nachricht senden Benutzer-Profile anzeigen
 
Nekrokeks
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 12.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 12.12.2013, 15:25     Titel:
  Antworten mit Zitat      
Achso - ja das mache ich dann später. Moment ich poste mal den ganzen Auslesecode

Code:
%%% WO SIND DIE MESSDATEN? %%%
  D = rdir('Y:\neuer datensatz\20130314\*\*.xls');
for i=1:length(D)
    %%% WOHIN KOPIEREN? %%%
    copyfile(D(i).name,['Y:\neuer datensatz\Kopie der Messdaten\',num2str(i),'.xls'])
end


%%% !!!! bei Gelegenheit noch Pfadvariable einführen !!!! %%%
for i = 1 : length(D)
    %%% LESEPFAD ANGEBEN %%%
    fileToRead = ['Y:\neuer datensatz\Kopie der Messdaten\',num2str(i),'.xls'];
   


Wenn ich es so mache habe ich eine Sicherheitskopie gemacht und habe dann in meinem fileToRead alle Excel Daten, die ich brauche.
Mit der Adjustierung zu uigetdir hatte ich mir das dann so überlegt:

Code:
%%% WO SIND DIE MESSDATEN? %%%
disp('Wähle den Ornder mit den Messdaten aus!')
  W = uigetdir;
  D = rdir(W\'*\*.xls');
  disp('Wähle Ordner in dem der Ornder "Kopie der Messdaten" angelegt werden soll!')
  F = uigetdir;
  mkdir(F,'Kopie der Messdaten')
for i=1:length(D)
    %%% WOHIN KOPIEREN? %%%
    copyfile(D(i).name,[F\'Kopie der Messdaten\',num2str(i),'.xls'])
end


%%% !!!! bei Gelegenheit noch Pfadvariable einführen !!!! %%%
for i = 1 : length(D)
    %%% LESEPFAD ANGEBEN %%%
    fileToRead = [F,num2str(i),'.xls'];
   


Jetzt glaub ich, dass das Problem ist, dass W (also mein Pfad) ja nicht in Anführungsstrichen steht und er somit den Pfad nicht liest. Aber wie kriege ich da die Anführungsstriche rein? :/
Private Nachricht senden Benutzer-Profile anzeigen
 
Nekrokeks
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 12.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 12.12.2013, 15:37     Titel:
  Antworten mit Zitat      
Ach mist ich sehe grade im Worksspace, dass mein Pfad in W ja doch in Anführungsstrichen steht... Verstehe nicht, wieso er nicht will -.-
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord_nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2013, 15:44     Titel:
  Antworten mit Zitat      
Hallo Nekrokeks

Code:
D = rdir([W,'\*\*.xls']);


Gruß Lord nibbler
 
Nekrokeks
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 12.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 12.12.2013, 15:48     Titel:
  Antworten mit Zitat      
Hallo Lord_nibbler,

vielen Dank - klappt einwandfrei = )

Also mit den eckigen klammern signalisiere ich Matlab, dass es ein zusammengesetzter Pfad wird?

Gruß

Nekrokeks
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 12.12.2013, 16:55     Titel:
  Antworten mit Zitat      
Hallo Nekrokeks,

Mit den eckigen klammern kann man nicht nur Matrizen/Vektoren/Zahlen zusammenfügen.
Code:
ergibt den Vektor 0 1 2 3.
Code:
a= 1:3;
[0 a]
ergibt ebenfalls Vektor 0 1 2 3.
Das ganze funktioniert wie in diesem Fall auch mit Strings.

Grüße,
Seb
_________________

Richtig fragen
Debugging
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.