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

Viele Deteien durchsuchen

 

Balu
Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 17.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.09.2012, 11:32     Titel: Viele Deteien durchsuchen
  Antworten mit Zitat      
Hallo,

nachdem ich meine Auswerteprogramm geschrieben habe, möchte ich gerne alles systematisch machen. Das heisst ich möchte einen Ordner öffnen, wo viele Dateien mit verschiedenen Dateinamen sind und die Dateien, die einen Art.Nummer haben auslesen und zu eine gemeinsame Datei machen. (sind excel dateien)
Vorgang:
1.Ordner auswählen.
2.ausgewählten Ordner durchsuchen
3.Dateien, die aussortiert sind in einer Datei umwandeln
4.Auswertung
Falls jemand weisst wie es geht, werde ich mich freuen!!!
Gruß Dieter.
Private Nachricht senden Benutzer-Profile anzeigen


Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 20.09.2012, 11:45     Titel:
  Antworten mit Zitat      
Hallo Balu,

deine gegebenen Informationen sind äußerst spärlich, hast du denn schon etwas Code? Punkt 3 und 4 sind mir vollkommen unklar bzw. VIEL zu allgemein.

zu 1)

eine manuelle Ordner bzw Dateiauswahl geht mit dem Befehl "uigetfile"

zu 2)

eine Liste mit den Dateien eines Ordners erhälts du mit dem Befehl "dir"
Ein durchsuchen könntest du dann z.b. mit "strcmp" machen.

lies dir dazu am besten mal die Hilfe durch.

Gruß, Kascho
Private Nachricht senden Benutzer-Profile anzeigen
 
flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.09.2012, 12:33     Titel:
  Antworten mit Zitat      
eine solche dateibasierte Struktur ist sehr ineffizient und wird auf Dauer unübersichtlich. Ich rate dringend zu einer strukturierten Informationsablage wie eine Datenbank, man kann sowohl aus Matlab wie auch Excel eine Datenbank benutzen
Private Nachricht senden Benutzer-Profile anzeigen
 
Balu
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 17.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.09.2012, 12:44     Titel:
  Antworten mit Zitat      
Hallo,

dann Schritt für Schritt

jetzt habe ich so

dirData = dir('C:\\Matlab\test_werte_auslesen')
dirIndex = [dirData.isdir]
fileList = {dirData(~dirIndex).name}

TF = strcmp(fileList,'test3_Nervnadel.xls')

ich habe den Ordner, wo viele xls Dateien gespeichert werden, und ic möchte, dass alle werte, die am Ende ...test3_Nervnadel.xls haben initialisiert werden. Das funktioniert jetzt.
Jetzt ist die Frage, wie ich dann die Werte aus Dateien auslese und die in eine Datei speichere??? Danke für Hilfe!!!

Gruß Dieter
Private Nachricht senden Benutzer-Profile anzeigen
 
Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 20.09.2012, 16:00     Titel:
  Antworten mit Zitat      
Was ist "Datei" ? Excel Dateien lassen sich mit "xlsread" einlesen.
Als was du sie speichern möchtest müsstest du schon mitteilen
Private Nachricht senden Benutzer-Profile anzeigen
 
Balu
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 17.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2012, 09:07     Titel:
  Antworten mit Zitat      
Hallo,

ich glaub ich habe irgendwie falsch erklärt was ich mir vorstelle(
außerdem Ansatz hat sich auch verändert Evil or Very Mad

also, ich habe einen Ordner der "Test" heisst, dort gibt es 100 .csv Dateien. die geben verschiedene Werte ab.(Zahlen + Text).
Ich möchte gerne diesen ordener auswählen und alle diese csv-dateien nach bestimmte nummer durchsuchen!

Wenn ihr einen Vorschlag oder Rat habt, wie man es macht werde ich mich freuen. Vielen Dank im Voraus!!

Gruß Dieter
Private Nachricht senden Benutzer-Profile anzeigen
 
Balu
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 17.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2012, 11:02     Titel:
  Antworten mit Zitat      
a ja die Datei schaut dann so aus

hab in txt gespeichert, weil csv ist nicht erlaubt

Gruß

Neu Textdokument.txt
 Beschreibung:

Download
 Dateiname:  Neu Textdokument.txt
 Dateigröße:  229 Bytes
 Heruntergeladen:  313 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2012, 17:52     Titel:
  Antworten mit Zitat      
wie schon geschrieben, importiere die CSV Dateien in eine Datenbank und dann kannst Du direkt auf einzelne Spalten & Zeilen der Daten zugreifen. Die Meiste Datenbanken stellen speziell für CSV Dateien schon entsprechende Importmechanismen zur Verfügung
Private Nachricht senden Benutzer-Profile anzeigen
 
Balu
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 17.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2012, 07:19     Titel:
  Antworten mit Zitat      
Hallo flashpixx,

kannst du mir bitte eineen Beispiel geben, wird mir bestimmt weiterhelfen!
Vielen Dank im Voraus.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 24.09.2012, 11:09     Titel:
  Antworten mit Zitat      
Hallo Balu,

Natürlich wäre eine Datenbank eine gut skalierbare Lösung und wirklich sinnvoll, wenn Du z.B. 100'000 Dateien hättest. Wenn es nur um ein paar Dutzend geht sehe ich kein Nachteil in einer File-basierten Lösung. Im Gegenteil: Die Vorteile der Datenbank stehen hier einem deutlichen Anfangsaufwand gegenüber.

Was ist nun genau das Problem? Kannst Du die Files mit XLSREAD oder DLMREAD einlesen?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Balu
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 17.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2012, 11:34     Titel:
  Antworten mit Zitat      
Hallo,

ich habe eine CD wo 2 Ordner gibt in einem ist kleine Auswetrung in anderem sind Messwerte.

Ich möchte einen Nummer eingeben und matlab den Auswertungsordner nach diesen nummer durchsuchen lassen. Dann bekomme ich alle "Aufträge" mit diesen nummer.

Dann möchte ich den Messwertordener nach diesen "Auftrags"nummern durchsuchen und die Messwerte von diesen Dateien bearbeiten.

Bis jetzt habe ich nur Auswerteprogramm nur für eine Datei geschrieben, aber alle Versuche um Ordner zu durchsuchen/sortieren scheitern. Ich habe sowas nie gemacht und weis wirklich nicht wie es weitergehen kann!
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 24.09.2012, 12:39     Titel:
  Antworten mit Zitat      
Hallo Balu,

Ich verstehe es immer noch nicht:
Zitat:
Ich möchte einen Nummer eingeben und matlab den Auswertungsordner nach diesen nummer durchsuchen lassen.

Was genau soll durchsucht werden: Die File-Namen, Ordnernamen, oder die Inhalte der Files?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Balu
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 17.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2012, 13:13     Titel:
  Antworten mit Zitat      
Hallo

versuch nocheinmal zu erklären,

in Auswertordner sind verschiedene csv Dateien mit Namen

12.12.12 0123544 (dort steht in einen Zeile Art.Nummer 4568)
11.11.12 0124568 (dort steht in einen Zeile Art.Nummer 4879)
13.08.12 0125896 (dort steht in einen Zeile Art.Nummer 4568)
usw

in Messwertordener

MS_15_1265_0123544 (da sind die Messwerte)
MS_12_1234_0124568
MS_15_1895_0125896

ich möchte einen Nummer in Matlab eingeben zB 4568(Also Art. Nummer)
und Matlab soll den ganzen Auswerteordner und das Innere von Dateien durchsuchen und mir die Namen ausgeben(wo der Nummer zutrifft) Anhang von dieser Suche sollten dann Files aus Messwertordner gefunden und analysiert werden.

Man, ist das kopliziert, hoffe das du es verstehst.
Hoffe du kannst mir weiterhelfen, ich kriege bald Panik! Bin schon eine Woche damit beschäftigt und finde keine Lösung!!!
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 24.09.2012, 13:32     Titel:
  Antworten mit Zitat      
Hallo Balu,

Das genaue Erklären eines Problems ist immer kompliziert, sonst wäre es ja kein Problem.

Und Du hast etwas 100 Files und alle sind kleiner als ein paar kB?

Code:
AuswertePath = 'C:\asd';
AuswerteDir = dir(fullfile(AuswertePath, '*.xls'));  % Passend wählen!
AuswerteFile = {AuswerteDir.name};
Data = cell(1, length(AuswerteFile));
for iFile = 1:length(AuswerteFile)
  Data{iFile} = <Hier der Import Deiner Datein>
end
 

So könnte schonmal das Auslesen aussehen. Nun müssetst Du noch erklären, wie genau Du die Auswerte-Files einlesen möchtest und in welcher Form Du sie in Matlab verfügbar haben möchtest. Dann käme der zweite Schritt.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Balu
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 17.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2012, 15:29     Titel:
  Antworten mit Zitat      
Hallo,

danke für die Hilfe.
Also es sind immer zw. 200-300 Dateien und Größe ist 2kB also wie du sagst. Die Files haben .csv Format. Auf einer bestimmte Stelle steht Artikelnummer und diesen Nummer sowie die Dateiname möchte ich haben. Das heisst ein Artikelnummer kann in versch. Dateien vorkommen. Soviel zum ersten Schritt.
ich habe vorher mit xls. Dateien ausprobiert und bin dann auf folgende Lösung gekommen., aber die csv Datei will trotzdem sich nicht öffnen(hab versucht mit csvread und textscan, hat auch nicht funktioniert.
mein code war:

directoryname = uigetdir('C:\Users\Balu\Desktop\Matlab\', 'Waehle einen Ordner');

namesnow = dir('*.xls');
countnow = length(namesnow);
datanow = cell(1,countnow);
for n = 1:countnow

datanow{n} = xlsread(fullfile(directoryname,namesnow(n).name),'B1:B1');

end

Ich hoffe du kannst mir weiterhelfen!
PS. Ich kann keine csv Datei hier laden, ich konnte dir sie per email schicken, dann kannst du auch besser vorstellen, was ich meine.
Gruß
Dieter
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.