LabVIEWForum.de
Zeilen aus einer Datei in andere Kopieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Zeilen aus einer Datei in andere Kopieren (/Thread-Zeilen-aus-einer-Datei-in-andere-Kopieren)

Seiten: 1 2


Zeilen aus einer Datei in andere Kopieren - jclstefan - 14.06.2012 10:45

Halllo,

Ich habe ein .cal datei die Kalibrationsdaten enthält. Die Daten sind als Tabelle aufgeführt die mit Tab getrennt sind.
Diese Date ist 1,30 GB groß.
Gibt es in Labview eine möglichkeit diese datei zu zerlegen? Ich kann sie in kein Editor öffnen (außer Hi-Editor, aber der ist nicht so toll), weil sie so groß ist.

Danke

Lv86_img


RE: Zeilen aus einer Datei in andere Kopieren - GerdW - 14.06.2012 10:55

Hallo Stefan,

einfach die Datei blockweise (in "vernünftiger" Blockgröße) einlesen...


RE: Zeilen aus einer Datei in andere Kopieren - jclstefan - 14.06.2012 13:27

Hallo,
ich habe folgendes probiert, (siehe Anhang)....

Was ich machen will:
Die Datei auslesen, und Zeilenweise in verschiedene Datei speichern.
Die Speicherung soll abhängig von der ersten Zahl, also zB wenn da "21" steht dann sollte das Programm eine Datei erstellen wo nur die Zeilen enthält die mit "21" anfangen. Dann "20" usw....

Hoffe ihr versteht was ich meine....


RE: Zeilen aus einer Datei in andere Kopieren - GerdW - 14.06.2012 13:42

Hallo Stefan,

momentan liest du deine ganze große Datei in einem Rutsch ein (bzw. scheiterst schon dabei...).
Du solltest doch blockweise lesen...

Mache doch das Einlesen ebenfalls in der Schleife, und zwar immer nur eine einzige Zeile! Die wird dann ausgewertet und wieder in der passenden Datei gespeichert. So wird das VI zwar ewig laufen, sollte aber leicht zu programmieren sein Smile

Edit: Siehe Jens' Beispiel...


RE: Zeilen aus einer Datei in andere Kopieren - jg - 14.06.2012 13:44

Willst du wirklich, dass LabVIEW sich aufhängt?
Eine 1,3 GB große Datei auf einmal einlesen?
Lieber Zeile für Zeile einlesen? Oder immer 100/1000 Zeilen auf einmal!
Grundidee:
[attachment=40215]

Gruß, Jens

EDIT: Mist, Gerd war schneller. Smile


RE: Zeilen aus einer Datei in andere Kopieren - jclstefan - 14.06.2012 16:05

Danke für die schnelle Antwort,
Jetzt habe ich verstanden was gemeint ist... =)

Die Suche nach dem Ausdruck stimmt so nicht oder? Also das sind Grad-Angaben: 21, -20, -10 ... 70°C.
wie kann ich sowas machen?

Danke für euer Unterstützung


RE: Zeilen aus einer Datei in andere Kopieren - GerdW - 14.06.2012 16:09

Hallo Stefan,

Zitat:Die Suche nach dem Ausdruck stimmt so nicht oder? Also das sind Grad-Angaben: 21, -20, -10 ... 70°C.
Was steht denn da genau? Nur die Zahl? Irgendwelche anderen Zeichen davor oder danach?

Idee: Statt aufwendig nach Mustern zu suchen sollte es auch ausreichen, mittels ScanFromString den ersten Teilstring mit "%s" zu parsen (ScanFromString sucht dann bis zum ersten Whitespace). Den erhaltenen Teilstring dann zum Auswählen der Speicher-Datei verwenden.


RE: Zeilen aus einer Datei in andere Kopieren - jclstefan - 14.06.2012 16:14

Zitat:Was steht denn da genau? Nur die Zahl? Irgendwelche anderen Zeichen davor oder danach?
Nein, die Zeile fängt mit den Zahlen an... wie oben erwähnt entweder Positiv oder Negativ.

Zitat:ScanFromString
Wie heißt das auf die deutsche LabView variante?


RE: Zeilen aus einer Datei in andere Kopieren - GerdW - 14.06.2012 16:17

Hallo Stefan,

Zitat:Wie heißt das auf die deutsche LabView variante?
In String suchen.
Oder einfach mal die Kontexthilfe aufmachen und mit der Maus über die String-Palette fahren - es wird nämlich sowohl der deutsche als auch der englische Name angezeigt...

Ach ja: Es gibt auch die Funktion "Pfad erstellen". Da muss man dann nicht (fehlerträchtig) Pfade mit den String-Funktionen zusammenpfriemeln und immer von Pfad nach String und zurück konvertieren...


RE: Zeilen aus einer Datei in andere Kopieren - jclstefan - 14.06.2012 16:40

(14.06.2012 16:17 )GerdW schrieb:  Oder einfach mal die Kontexthilfe aufmachen und mit der Maus über die String-Palette fahren - es wird nämlich sowohl der deutsche als auch der englische Name angezeigt...

Sehr gut danke für den Tipp.


Das Programm speichert nur eine Zeile anstatt die ganzen Zeilen die zB 20°C enthalten?
Liegt es vielleicht daran dass ich die Datein in der Schleife schon schließe?

Ich fahre jetzt nach Hause bin nämlich in der Arbeit... Morgen bin ich wieder da...
Danke für euer Bemühen...