Messwerte aus txt-Datei einlesen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Messwerte aus txt-Datei einlesen (/Thread-Messwerte-aus-txt-Datei-einlesen) Seiten: 1 2 |
Messwerte aus txt-Datei einlesen - Puka - 26.01.2007 17:05 Hallo alle zusammen. Mein erstes Posting Ich habe jetzt im Rahmen meines Elektrotechnik-Studiums mit LabVIEW zu tun. Das klappt auch alles so weit recht gut. Jetzt bin ich aber auf ein Problem gestoßen, bei dem ich nicht so recht weiter weiß. Und zwar muss ich eine txt-Datei einlesen, in der sich Messwerte befinden. Die Datei habe ich zum besseren Verständnis als Anhang angefügt. Ich möchte die Datei Zeile für Zeile von Anfang bis Ende durchgehen und die jeweils auf einer jeden Zeile stehenden Werte separat in drei 1-D-Arrays einlesen. Leider ist mein LabVIEW-Latein an diesem Punkt zu Ende, sodass ich hoffe, hier in diesem Forum Hilfe zu finden. Wäre echt klasse, wenn mir einer helfen könnte. Schonmal danke im Voraus Martin Messwerte aus txt-Datei einlesen - dc6xs - 26.01.2007 19:23 ' schrieb:Hallo alle zusammen. Mein erstes Posting Erstmal herzlich willkommen hier im LVF! Mein Beitrag zu einem ähnlichem Problem Allerdings könnte der letzte Wert in der ersten Zeile Deiner Dateien ein paar Probleme machen (meine das -------). Kann/Darf man das 0 setzen ? Hoffe das hilft Dir weiter, Gruß, Rob PS: auch ET-ler ;-) Messwerte aus txt-Datei einlesen - Lucki - 26.01.2007 19:56 Ebenfalls Herzlich Willkommen! Ja, wenn es sich bei Deiner Datei um einen sog. "Tabellenstring" handeln würde, dann wäre die Sache ganz einfach, dafür gibt es die Funktion "Aus Tabellenkalkulationsdatei lesen". Wenn möglich, würde ich an Deiner Stelle versuchen, das Format entsprechend abzuändern, und zwar so: Statt unterschiedlicher Anzahl Leerzeichen (oder neben diese Leerzeichen) sollen Trennzeichen zwischen die Zahlen einer Zeile, z.B. Tabs (default) oder Kommas oder Semikolon. (Ja, auch ein Leerzeichen wären als Trennzeichen möglich, aber wenn, dann dürfte es nur eines zwischen jeder Zahl sein) Es macht aber nichts, so wandle ich Deine Datei eben erst einmal um - Nachteil nur, daß Du es schwer haben wirst diesen Schritt zu verstehen (es geht darum, daß nicht jedes einzelne Leerzeichen in ein TAB gewandelt wird. Das + im Suchstring ist ein Spezialzeichen und bedeutet, daß das (Im Suchstring nicht sichtbare vorangestellte Leerzeichen) gehäuft vorkommen darf). Wenn Du die Dimension (oder ist es das Zeichen für milli?) in der zweiten Spalte retten willst, so ist das möglich, aber dann wird es wieder etwas komplizierter. Ludwig Messwerte aus txt-Datei einlesen - Puka - 26.01.2007 21:54 Hallo Lucki, genau so habe ich mir das vorgestellt. Durch die Angabe %10.3f habe ich es sogar noch hinbekommen, die Nachkommastellen zu erfassen. Eine Frage habe ich jedoch noch, denn deine Vermutung bewahrheitet sich. Das kleine "m" steht für Milli und muss erhalten bleiben. Ich habe jetzt auch schon dein VI erweitert, sodass das Leerzeichen zwischen der Zahl und dem "m" verschwindet, nur leider wird es eben noch nicht mit eingelesen. Wenn du dafür noch eine Lösung hättest, wäre das klasse. Martin Messwerte aus txt-Datei einlesen - Lucki - 26.01.2007 23:52 ' schrieb:Wenn du dafür noch eine Lösung hättest, wäre das klasse.1. Das Leerzeichen muß weg, wie Du schon sagtest 2. Das richtige Fomatzeichen muß dann heißen %p (anstatt %f) PS: Ein Formatangabe wie %10.3f hat meines Wissens nur Bedeutung bei der Formatierung von Zahl nach String, aber nicht umgekehrt. Wenn Du eine Zahl so formatieren willst, dann mit der rechten Maustaste auf die Anzeige --> Format und Genauigkeit. Die Zahl wird aber dann auch nicht gerundet, das betrifft nur die Anzeige, die interne Representation z.B als double bleibt davon unberührt. Wenn Du wirklich eine Zahl (und nicht die Stringdarstellung einer Zahl) z.B auf drei Stellen nach dem Koma runden willst, dann geht das mathematisch und nicht mit Formatierung: Die Zahl mal 1000 nehmen, auf ganze Zahl runden, dann wieder durch 1000 dividieren. Oder so: Die Zahl mit Formatierungszeichen in einen String umwandeln, dann wieder rückkonvertieren. Messwerte aus txt-Datei einlesen - Y-P - 28.01.2007 10:12 Hallo Lucki, was macht denn das " +" und das "t" beim ersten Search and Replace String? Macht das die Leerzeichen weg? "+" habe ich nämlich keins gesehen zum Ersetzen. Gruß Markus ' schrieb:1. Das Leerzeichen muß weg, wie Du schon sagtest Messwerte aus txt-Datei einlesen - Puka - 28.01.2007 11:18 Hallo Markus, genau das macht es. Es entfernt ein oder mehrere hintereinander stehende Leerzeichen und ersetzt diese durch ein tab-Zeichen. Auch dir Lucki nochmals vielen Dank. Das VI funktioniert echt so, wie ich es mir vorgestellt habe. Es leben die Forums im Internet Bisher haben sie mir nur bei LaTeX geholfen und nun auch noch bei LabVIEW... Also dann, bis zu einer meiner vielleicht bald kommenden Fragen. Martin Messwerte aus txt-Datei einlesen - Y-P - 28.01.2007 11:21 Achso, dann ist das "+" quasi ein Platzhalter, der hintereinanderkommende gleiche Zeichen zusammenfasst? Würde dann "d+ alle "d" hintereinander zusammenfassen und dann durch ein Tabulator (t) ersetzen? Gruß Markus EDIT: Juhu, das war mein 700. Beitrag. ' schrieb:Hallo Markus, genau das macht es. Es entfernt ein oder mehrere hintereinander stehende Leerzeichen und ersetzt diese durch ein tab-Zeichen. Messwerte aus txt-Datei einlesen - Lucki - 28.01.2007 17:19 ' schrieb:Achso, dann ist das "+" quasi ein Platzhalter, der hintereinanderkommende gleiche Zeichen zusammenfasst? Würde dann "d+ alle "d" hintereinander zusammenfassen und dann durch ein Tabulator (t) ersetzen?Ja, das Ganze findet man, wenn man die Hilfe zu den betreffenden VIs aufruft und von dort aus "fortgeschrittener regulärer Ausdruck" anklickt. Das ist aber a) so kompliziert, dass ich auch nicht alles verstehe, und b) ist das Fatale an der Sache, dass die Deutung gewisser Zeichen als Sonderzeichen Standard ist. Wenn man das nicht weiß - und so ist es mir und anderen hier im Forum gegangen (und woher sollte man das wissen?) -, dann wundert man sich, dass ein Suchausdruck anders funktioniert als erwartet und sucht stundenlang, woran das liegen könnte. Gottseidank habe ich das hinter mir. Hier ging es aber nicht darum, wie man die unerwünschte Interpretation als Sonderzeichen vermeidet, sondern wie man sie anwendet. Die Aufgabe war: Zwischen den Daten einer Zeile steht eine unterschiedliche Anzahl von Leerzeichen als Trennzeichen. Ein Leerzeichen kann zwar durchaus als Trennzeichen dienen, aber wenn es mehrere sind, dann ist das schlecht. Gleichzeitig hat man noch ein anderes Problem: Eine Zahlenstring hat "m" für "milli" angehängt, und zwischen Zahl und m ist ein Leerzeichen. Dieses Leerzeichen soll natürlich nicht in einen Tab verwandelt werden, um Gegenteil, es soll weg. Mir ist keine Lösung eingefallen, wie man das in einem Schritt machen könnte, deshalb wird "suchen und ersetzen" zweimal ausgeführt: 1. Schritt: Suchen nach "Leerzeichen Leerzeichen +" --> ersetzen durch Tab. Das heißt, es müssen mindesten 2 Leerzeichen aufeinanderfolgen, ein einzelnes Leerzeichen erfüllt nicht die Bedingung des Ausdrucks und wird nicht ersetzt. 1. Schritt: Es ist nur das Leerzeichen vor dem "m" übrig geblieben, das wird entfernt. Zum 700. Beitrag meine herzlichen Glückwunsch! Ludwig Messwerte aus txt-Datei einlesen - Y-P - 28.01.2007 20:11 Hi. Das ist ja tricky. ;)Mir ging es auch mal so (anderes Thema hier), dass ich was gesucht, aber nicht gefunden habe. Da habe ich nach 9,9E+37 gesucht und da war auch das "doofe" Plus das Problem. Das nächste Mal weiß ich das jetzt (hoffentlich) auch. Danke für die ausführliche Info. Gruß Markus |