INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Mehrere Txt-Files einlesen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

29.04.2010, 15:12 (Dieser Beitrag wurde zuletzt bearbeitet: 29.04.2010 15:16 von Lecojon.)
Beitrag #1

Lecojon Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Apr 2010

8.5
2010
en

-
Deutschland
Mehrere Txt-Files einlesen
Hi, ich denke mit dem Post hier und hoffentlich einer Antwort hätt ich erstmal alles beisammen, was ich so für meine Zukünftigen Auswertungen benötige...
Ich wollte mal nachfragen, ob es möglich ist mit LV mehrere Files einzulesen? Undzwar ungefähr so:

Den Ordner der Files öffnen----> alle Files werden sortiert in den FrontPanel geladen---->Dort kann ich mir die zu bearbeitenden Files aussuchen bzw. alle...
Als Beispiel wähle ich alle:
----> nach dem aussuchen wird ein Filepaar nach dem anderen bearbeitet (wegen meinem geringen RAM-Speicher)....
Also berechne Paar1, schreibe Ergebnisse in Arrays und plotte...
----> bearbeite Filepaar2, hänge Ergebnisse an Array und Plott dran (also kein neues/r Array/Plott)
Kann mir da jemand helfen, wenn man das i-wie so amchen kann?

Hab grad mal irgendwie hingekrigt, wie man überprüft, ob ein Ordner existiert...wenn das stimmt ^^.... auch weiß ich dann nicht, ob ich alle Rechnungen (der ein oder andere kennt sie wahrscheinlich...:Dis auch nur ein Beispiel) in einer Riesen FOR-Schleife setzen muss...für jedes file eben....ganz zu schweigen von den ganzen Booleans da....Huh

Grüßle

Crosspost: http://forums.ni.com/ni/board/message?boar...ump=true#M12780

Da hab ich mal so Beispiel Files (in Wirklichkeit sind es mehr als nur 2 Paare)und mein kaputtes prog....
Lv85_img(HA! diesmal nicht vergessen)


Angehängte Datei(en)
Sonstige .txt  GIL1.txt (Größe: 11,1 KB / Downloads: 324)

Sonstige .txt  GIL2.txt (Größe: 10,96 KB / Downloads: 265)

Sonstige .txt  GPS1.txt (Größe: 8,22 KB / Downloads: 288)

Sonstige .txt  GPS2.txt (Größe: 8,22 KB / Downloads: 348)

Sonstige .vi  Test.vi (Größe: 100,9 KB / Downloads: 351)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30.04.2010, 08:29
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Mehrere Txt-Files einlesen
1. Tip: SubVIs, sonst wirst du nicht glücklich werden, soll heißen, deine Bearbeitung eines Files als eigenes SubVI anlegen. Dann hast du hier schon mal mehr Struktur drin und gewinnst wieder mehr Übersicht.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.05.2010, 00:45
Beitrag #3

Lecojon Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Apr 2010

8.5
2010
en

-
Deutschland
Mehrere Txt-Files einlesen
Ja, das mit SubVIs hatt ich auch im Sinn, aber bei dem BeispielProg is es ja noch egal, es geht ja nur um den Input und den Output, was da so gerechnet wird, ist ja auch wurscht. Falls eine FOR-Schleife um alles muss, da bin ich mir nicht sicher, dann kann man einfach eine drüberziehn...

Ich hab was zu dem Thema "mehrere Files öffnen" gefunden im Net, hab auch versucht das so zu bauen, wie ichs mir vorgestelt hab. Das ist jetzt nur der Input... erstmal...

Files werden geladen und nach Typ sortiert, dann kann man sich die zu bearbeitenden Files aussuchen, oder man wählt alle aus. Als Test wollt ich einfach mal den Inhalt jedes Files ausgeben lassen. Aber ich bekomm da Fehlermeldungen...weiß einer was fehlt?

Ist das überhaupt mal der richtige Weg für das, was ich später vorhab (1. Filepaar: GIL1-GPS1 einlesen--->berechnen--->ausgeben, 2.Filepaar: GIL2-GPS2 einlesen--->bearbeiten--->am vorigen dranhängen)?

Gude Nacht,
Lecojon

Lv85_img


Angehängte Datei(en)
Sonstige .vi  Open_GPSGILFILES.vi (Größe: 96,39 KB / Downloads: 318)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.05.2010, 10:16
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Mehrere Txt-Files einlesen
Hallo Lecojon,

"Aber ich bekomm da Fehlermeldungen...weiß einer was fehlt?"
Etwas genauere Angaben wäre schon nicht schlecht gewesen...

- Was fehlt, ist jedenfalls der Datenfluß! Vor deinem Case "Alle Dateien"/"Benutzerauswahl" fragst du die Benutzerauswahl ab. Im Case "Benutzerwahl" wartest du dann noch, bis der Benutzer "Auswahl getroffen" bestätigt. Wenn er in der Zwischenzeit seine Auswahl ändert, wird dies nicht berücksichtigt... (Es wurden die Werte ja schon vorher ausgelesen!)
- Du verwendest die STOP-Funktion. Zitat aus dem NI-Forum: "STOP is like using a tree to stop a car". Sollte man nicht verwenden, und wenn, dann nicht in einem (zukünftigen) subVI. Nimm 'ne Case-Struktur stattdessen...
- Du verwendest gern "deafult if unwired" Tunnel bei Case-Strukturen. Die sind nur bedingt hilfreich, sinnvolle "Default"-Werte machen die Fehlersuche/weitere Programmabarbeitung später viel einfacher.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.05.2010, 13:13
Beitrag #5

Lecojon Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Apr 2010

8.5
2010
en

-
Deutschland
Mehrere Txt-Files einlesen
Ja, das sind so die Sachen worüber ich mir auch so meine Gedanken gemacht habe....Ich kanns aber nicht fertig realisieren....
Zum einen, weiß ich nicht was ich mit dem Datenfluß machen soll (irgendwie muss es ja an "read from textfile", keine ahung was dazwischen muss)...

Und das mit dem OK-Button. Bin da mit dem Prinzip nicht vertraut. Ich hab gesehn, die Files werden richtig sortiert geladen (juhu! wenigstens das!Big Grin).
Aber dann gibts die andere Möglichkeit "Files Auswählen". Da wird auch alles richtig geladen, dann kann ich auswählen, aber das bringt nix, wie du schon sagtest, wenn ich den OK-Button drücke, dann stoppt das programm...Case-Struktur stattdessen?Big Grin

Ich frag mal so: Mag mir das jemand mal verbessern, bei Lust und Zeit natürlichBig Grin? Ich hab trotz gut gemeinter Tips echt keinen Plan mehr davon...

Bis dann,
n guder Tag euch!
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.05.2010, 17:42 (Dieser Beitrag wurde zuletzt bearbeitet: 02.05.2010 17:48 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Mehrere Txt-Files einlesen
Hallo Lecojon,

anbei ein VI mit den von mir erwähnten Änderungen...

Was du jetzt noch selbst machen kannst:
Ich würde dem Benutzer die Auswahlfelder zum Laden der Dateien schon "richtig" vorbelegen, d.h. wenn z.B. je 3 Dateien vorhanden sind, die Auswahlfelder schon mit je 3 TRUE initialisieren. Tipp: InitArray-Funktion & lokale Variable... Außerdem wird (noch) nicht auf "keine Dateien gefunden" getestet, du überprüfst nur auf "Existierender Pfad"...

Lv85_img


Angehängte Datei(en)
Sonstige .vi  Open_GPSGILFILES.vi (Größe: 96,14 KB / Downloads: 362)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.05.2010, 20:25 (Dieser Beitrag wurde zuletzt bearbeitet: 02.05.2010 20:36 von Lecojon.)
Beitrag #7

Lecojon Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Apr 2010

8.5
2010
en

-
Deutschland
Mehrere Txt-Files einlesen
Dank dir, jetzt gehts ^^....komisch, eigentlich bin ich LabVIEW-ExperteTongue...

Ich wills aber auch verstehen:

1) Du hast jetzt bei den FOR-L kein einziges N angeschlossen, ich aber schon, ich musste, sonst Fehlermeldung. Wann muss man N anschließen und wann nicht? Gibts da ne einfach Regel?

Im Bild unten:

2) Welche Rolle spielt diese Array-Konstante (hier: rosa)? Wann brauch ich sowas? Ich hätt mir den Datenfluss von ganz vorne geholt bei den Folders.
3) Warum Shift-Register? Ist das, um den vorher gelesenen File nicht zu vergessen? Also er liest alle Files, merkt sich die und erst am Ende des zuletzt
gelesenen Files spuckt er sie alle zusammen aus, sollte mit Tunnel aber auch so gehen, habs versucht, aber da gehts nicht....
Die Logik verstehe ich nur bei einfach Rechnungen, wenn ich mir für die nächste Iteration den ausgespuckten werd merken will....
4) Ich versteh den Zusammenhang nicht: BuildArray mit "Read from Txt-file" und Array-Const. Bei "select all Files" is dieses Array Ding gar nicht da."

Bis denn


Angehängte Datei(en) Thumbnail(s)
   
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2010, 07:22 (Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2010 07:23 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Mehrere Txt-Files einlesen
Guten Morgen Lecojon,

1) Da die FOR-Schleifen (hier) mit AutoIndexing arbeiten, muss nicht zusätzlich N verdrahtet werden.
Grundregeln:
- N muss verdrahtet werden, wenn kein AutoIndexing-Eingang vorhanden ist.
- Die FOR-Schleife arbeitet den kleinsten Wert ab von a) Größe der angeschlossenen AutoIndexing-Arrays und b) Wert an N (und c) erlaubt "neuerdings" vorzeitigen Abbruch mittels Stop-Condition).

2) Durch diese eine Konstante kann ich alle "default"-Ausgänge deiner Cases bedienen als auch die Shiftregister initialisieren.

3) Ich habe die Shiftregister genutzt, um nur die Werte aus den zu lesenden Dateien ins Array zu packen. Bei deiner Lösung ("default if unwired") würden leere Einträge im Array entstehen...

4) Wenn du alle Dateien einliest, braucht man auch keine leeren Einträge rausfiltern (siehe 3)...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2010, 09:59 (Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2010 10:04 von Lecojon.)
Beitrag #9

Lecojon Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Apr 2010

8.5
2010
en

-
Deutschland
Mehrere Txt-Files einlesen
Gude Morsche, Gerd

...warst aber früh wach...da ist mir aufgefalen, du hast schon 333 Beiträge. Now you are half evil!....
Schreibe noch weitere 333 und du gehst auf die evil zu. Ich helf dir sogar dabeiBig Grin.... und deine Thanks sehen auch fast evil aus....

Ne, viel is nich mehr. Ich hab probiert am Ende mit den jetzt eingelesenen Files zu rechnen.
Jeder Filetyp ist jetzt in einem 1D Array gespeichert....Jede Zeile entspricht einem Kompleten File.
So, jetzt muss ich hier jede Zeile Durchgehen und in ein Array wandeln, Header löschen usw.....

Sprich, das prog geht jetzt jedes File durch, rechnet, dann nimmt er die nächste Zeile (nächstes File) und rechnet.

Wenns ums "durchgehen" geht ist FOR-S schon mal nicht schlecht. Nur kommen dann diese Wire-Probleme...Hier mein aktueller Versuch mit einem 3D Array am Ende, mag aber ein 2 D Array haben...
Weiß da jemand einen Tip? Was da fehlt?

Ziel ist jetzt, das prog geht alle (ausgewählten) Files durch, rechnet--->schreibt Ergebnisse ins Array (später noch mit Plott) )und schreibt Txt-Datei.
Die Sache ist, alle Werte aus allen Files sollen im Array/Plott/WriteFile drangehängt werden...ich glaube so hätt ich mein RAM-Problem gelöst, jedes File wird nacheinander abgearbeitet,oder?


Angehängte Datei(en) Thumbnail(s)
   
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2010, 10:15 (Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2010 10:19 von GerdW.)
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Mehrere Txt-Files einlesen
Hallo Lecojon,

dan mach ich mal was gegen diese Anhäufung okkult angehauchter ZahlenSmile

Du willst ein 2D-Array? Dan guckst du in meinem VI, wie man Arrays mittels Shiftregister und BuildArray in einer Schleife erzeugt! (BuildArray evtl. per Rechtsklick umschalten auf "Arrays anfügen".)

Zum Eingang deiner FOR-Schleife: Das AutoIndexing gibt dir doch schon den einzelnen String, da musst du nicht nochmal das erste Element eines Array (versuchen zu) indizieren...
Außerdem kannst du die 2 IndexArray-Nodes zu einer zusammenfügen - in der zweiten holst du doch schon 2 Spalten aus deinem Array, kannst also auch die 3. Spalte dort indizieren. Auch reicht es bei aufeinanderfolgenden Spalten aus, nur die erste zu indizierende explizit anzugeben - die nächsten Spalten indiziert LV automatisch...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  .tdms Files Nach Struktur sortieren Anton R. 6 6.224 01.09.2014 07:13
Letzter Beitrag: GerdW
  Files mit undefinierter Endung einlesen jack.van-day 4 5.581 26.02.2013 11:43
Letzter Beitrag: jack.van-day
  Drag&Drop von files aus dem windows explorer in ein vi Proctor 2 4.846 06.03.2012 14:23
Letzter Beitrag: Proctor
  Verschlüsselung eines Files möglich ? ralph.d 8 10.685 16.11.2011 13:38
Letzter Beitrag: BNT
  TDMS Files zusammenführen NILVuser 2 7.043 11.09.2011 20:58
Letzter Beitrag: dimitri84
  Limit in File Size bei binary Files? Stoney_83 2 5.418 28.03.2011 07:53
Letzter Beitrag: Stoney_83

Gehe zu: