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

Einlesen von .txt-Dateien aus Unterordnern mit versch. Namen

 

eponymous
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 24.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.02.2017, 12:44     Titel: Einlesen von .txt-Dateien aus Unterordnern mit versch. Namen
  Antworten mit Zitat      
Hallo zusammen,

ich habe bisher keine Lösung für meine Aufgabe gefunden.

Ich möchte .txt-Dateien aus verschiedenen (Unter-) Ordnern der Reihe nach (Schleife, in der ich daraus Zeilen auslese) öffnen möchte.

Ich habe es mit dem Befehl
Code:
[status liste] = system('dir /s /b *.txt')

probiert, damit bekomme ich zumindest den Pfad mit den Dateinamen als char-Liste (1x6660) --> 6660, da ich 60 Messungen (Ordner) habe:

C:\...\Desktop\Messungen\Messung Hin-20170223-141559\Messung Hin-20170223-141559-1.txtC:\...\Desktop\Messungen\Messung Hin-20170223-141559\Messung Hin-20170223-141723-1.txtC:\...\Desktop\Messungen\Messung Hin-20170223-141559\Messung Hin-20170223-141933-1.txt....



Der Dateiname ist der letzte Teil: "Messung Hin-201...."

Eine Pfadlänge +.txt ist genau 111 Zeilen lang.
Ich wollte also eine Schleife bauen, der den char von den ersten 111 Zeilen in den ersten Eintrag einer Matrix schreibt, die Zeilen 112 bis 223 in die zweite Spalte usw., so dass ich einen 1x60-Vektor bekomme, um daraus über eine weitere Schleife die Dateien zu öffnen. Aber ich komme hier nicht weiter und glaube, es muss auch eine andere Möglichkeit geben, die einfacher ist.

Über jegliche Hilfe bin ich sehr dankbar.

Besten Gruß
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.02.2017, 14:02     Titel:
  Antworten mit Zitat      
Hallo,

das dürfte wesentlich einfacher sein, wenn du direkt den dir -Befehl in MATLAB verwendest, siehe auch das Beispiel "Find Files in Subfolders" aus der Doku.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
eponymous
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 24.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.02.2017, 16:59     Titel:
  Antworten mit Zitat      
hm, also nun habe ich folgenden code:

Code:
clear all;
path='pfadname'
listing=dir(path)
T = struct2table(listing)
dat=T(:,1)
 


unter dat habe ich nun die Ordnernamen, auf die ich gerne mit "cd" und durch Zusammensetzung von dat und path zugreifen möchte.

wie kann ich denn nun den jeweiligen Eintrag von dat mit path zusammen einen String erstellen, der mir den jeweiligen Unterordner-Pfad ergibt ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.02.2017, 17:37     Titel:
  Antworten mit Zitat      
Hallo,

warum möchtest du das denn?
dir kann im aktuellen Release ja rekursiv suchen, siehe das genannte Beispiel.

Falls du ein älteres Release verwendest, trage das bitte im Profil ein. In dem Fall kannst du auch dies aus File Exchange verwenden:
https://de.mathworks.com/matlabcent.....hange/15505-recursive-dir

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
eponymous
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 24.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.02.2017, 17:48     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich habe schon die aktuelle 2016er Version.

Welches Beispiel meinst du ? Ich habe bisher keines gefunden, das ist mein Problem. Ich finde nur diesen Button oben links "Find Files"... der bringt mich aber nicht weiter, da dann nur die Dateien aufgelistet werden.

Wenn ich
Code:
C=dir('pfadname','.txt')
eingebe, kommt diese Fehlermeldung:

"Error using dir
Too many input arguments."
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.02.2017, 18:26     Titel:
  Antworten mit Zitat      
Hallo,

im Command Window folgendes eingeben:
Code:


und dann nach unten scrollen, bis du dieses Beispiel findest.
Es gibt übrigens nicht die eine 2016er Version, sondern 2016a und 2016b. In dem Fall macht das tatsächlich auch einen Unterschied.

Grüße,
Harald
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.