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 

Dieses Thema hat akzeptierte Lösungen:

Werte aus Textdatei mit festgelegter Maske auslesen



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!

27.06.2012, 13:45
Beitrag #1

Wator Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jun 2012

2009
2011
DE



Werte aus Textdatei mit festgelegter Maske auslesen
Hallo liebes Forum,

hier wurde mir als passiver Leser schon öfter geholfen, leider finde ich zu meinem aktuellen Problem keine entsprechenden Threads.

Es geht um das Einlesen größerer Textdateien mit vielen Werten pro Zeile, die aber nicht mit Tab oder ähnlichem getrennt sind, sondern einfach in feste Bereiche eingeteilt sind. Ich weiß das könnte jetzt nichts so verständlich sein, deswegen hier ein Beispiel:

Die Zeilen der Datei sehen so aus: 3459.3450.875789.2345
Mit der entsprechenden Maske wird das draus: 34 59.3450 (0).875 78 9.2345
D.h. der erste Werte steht an Position 1-2, der nächste an 3-9, dann 10-13 usw...
Das Ganze wird hoffentlich auch noch mal ersichtlich wenn man sich die beiden angehängten Dateien anschaut.

Meine bisherigen Versuche Arrays mit den entsprechenden Werten zu erstellen waren leider nicht erfolgreich. Wie ich Textdateien zeilenweise einlese weiß ich, nur was ich dann bräuchte wäre ein Befehl der die Werte an Position 1-2 in ein Array schreibt, dann die Werte bei 3-9 in ein anderes Array usw. Vllt muss man es auch ganz anders angehen...


Hoffe jemand kann mir dabei helfen. Vielen Dank schon mal.


Angehängte Datei(en)
0.0 .txt  data.txt (Größe: 5,06 KB / Downloads: 300)

0.0 .txt  so sollte es sein.txt (Größe: 113 Bytes / Downloads: 310)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.06.2012, 13:49
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Werte aus Textdatei mit festgelegter Maske auslesen
Na dann würde ich mal String Subset verwenden.

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
27.06.2012, 14:12
Beitrag #3

Wator Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jun 2012

2009
2011
DE



RE: Werte aus Textdatei mit festgelegter Maske auslesen
Hi Jens,

danke für die schnelle und zutreffende Antwort. Danach hab ich gesucht.

Irgendwie mach ich aber noch was falsch, da in den Arrays jeweils immer nur das erste Element steht. Ob ich zeilenweise einlese oder nicht macht keinen Unterschied. Vielleicht kann da jmd nochmals drüberschauen.

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.06.2012, 14:21
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Werte aus Textdatei mit festgelegter Maske auslesen
Lies mal zeilenweise ein (also Rechtsklick ->Read Lines), und die weitere Behandlung gehört dann in eine For-Schleife:
   
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
27.06.2012, 17:20
Beitrag #5

Wator Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jun 2012

2009
2011
DE



RE: Werte aus Textdatei mit festgelegter Maske auslesen

Akzeptierte Lösung

Danke nochmals Jens.

War doch ziemlich straight forward, man braucht nur die richtigen Befehle. 2hands

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2012, 08:38 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2012 08:41 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Werte aus Textdatei mit festgelegter Maske auslesen
Die Verwendung von solch langweiligen gleichförmigen Strickmustern ist immer suboptimal. Labview ist speziell daraufhin konzipiert, das sich so etwas immer vermeiden läßt.
In Deinem Fall geht es einfacher so:
   


Angehängte Datei(en)
9.0 .vi  text.vi (Größe: 7,06 KB / Downloads: 229)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.06.2012, 08:53 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2012 09:06 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Werte aus Textdatei mit festgelegter Maske auslesen
Hallo Lucki,

wenn man sich die Text-Datei weiter oben anschaut, befürchte ich doch einige Fehlermeldungen bei deinem Vorschlag...
(fehlende Trennzeichen zwischen Spalten, plötzlich mal Buchstaben statt Zahlen)
Fortsetzung:

Zitat:Die Zeilen der Datei sehen so aus: 3459.3450.875789.2345
Mit der entsprechenden Maske wird das draus: 34 59.3450 (0).875 78 9.2345
Wer auch immer sich einen solchen Quatsch als Dateiformat ausgedacht hat...
Oder geht's hier um security by obscurity?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2012, 11:22
Beitrag #8

Wator Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jun 2012

2009
2011
DE



RE: Werte aus Textdatei mit festgelegter Maske auslesen
@Lucki: Danke für die schöne Lösung. Ist erstaunlich dass LV die zusammenhängenden Zahlen richtig interpretiert (vor allem auch bei "-.076"). Für meine Zwecke ist das vollkommen ausreichend und zweckmäßig. Allerdings gibt es tatsächlich einen Fehler, wenn die Anzahl der Schleifendurchläufe erhöht wird, da zwischendrin ein Buchstabe vorkommt (bei anderen Datensätzen durchaus öfter der Fall). Aber wie gesagt, da ich nicht alles auslesen muss, kann ich damit sehr gut was anfangen.

@Gerd: Warum genau dieses Dateiformat gewählt wurde, weiß ich auch nicht, aber mit Security hat es nichts zu tun. Bei Interesse kannst du gerne mal unter folgendem Link vorbeischauen: http://www.cfa.harvard.edu/hitran/
Es handelt sich dabei um spektroskopische Daten für die Absorption von Molekülen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2012, 13:44 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2012 13:50 von Lucki.)
Beitrag #9

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Werte aus Textdatei mit festgelegter Maske auslesen
(28.06.2012 08:53 )GerdW schrieb:  wenn man sich die Text-Datei weiter oben anschaut, befürchte ich doch einige Fehlermeldungen bei deinem Vorschlag...
Nach bestandenem Praxistest sollte man aber, statt die Welt mit Befürchtungen zu verunsichern, sich lieber überlegen, warum es funktioniert.
Es funktioniert, weil das VI "In String suchen" anders funktioniert als das VI "Tabellenstring nach Array" - dort gelten deine Befürchtungen voll.
Das VI ignoriert führende Leerzeichen und sucht die erste Gleit- oder Fixkommazahl. Dies erste Zahl lautet im Beispiel "3459.3450". Der Restsring lautet ".875789.2345". Die zweite gefundene Zahl des Reststrings lautet ".875789", die dritte ensprechend ".2345". Da gibt es absolut nix, was instabil ist oder von dem VI auch anders interpretiert werden könnte.
   

@Wator
Du musst genau sagen was Du haben willst, es gibt da Differenzen:
Erst wolltes Du einen String (?) , in dem das R weiterhin vorkommt, und dann lieferst Du ein Beispiel, in dem nur die ersten 9 String-Zahlen der Zeile nach DBL konvertiert werden.
Sage genau, was Du willst, und es wird geliefert Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2012, 13:51 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2012 13:54 von GerdW.)
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Werte aus Textdatei mit festgelegter Maske auslesen
Hallo Lucki,

wenn ich mir das Zitat anschaue:
Zitat:Die Zeilen der Datei sehen so aus: 3459.3450.875789.2345
Mit der entsprechenden Maske wird das draus: 34 59.3450 (0).875 78 9.2345
dann hat auch die ScanFromString-Variante Probleme, aus 3459.345 die zwei Zahlen 34 und 59.345 zu parsen - zumindest bei einem Formatstring von "%f". Ebenso die Trennung von ".875789.2345" in drei verschiedene Werte...

Du nennst es "Befürchtung"/"Verunsicherung", ich nenne es Widerspruch zwischen Aufgabenstellung und präsentierter Lösung...

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
  auslesen der Werte einer .csv psypher 3 6.217 07.04.2016 07:12
Letzter Beitrag: psypher
  Bestimmter Teil einer Textdatei auslesen ExperimetalPhysiker 3 5.611 24.02.2014 09:08
Letzter Beitrag: GerdW
  Aus TXT-Datei bestimmte Werte auslesen Lessy2205 11 18.851 30.01.2012 14:54
Letzter Beitrag: GerdW
  Zeilenweise Werte aus Tabelle auslesen ColdducK 10 15.036 29.11.2011 11:27
Letzter Beitrag: GerdW
  Werte als Textdatei mit Header abspeichern Jhonny 23 27.322 27.07.2011 11:46
Letzter Beitrag: johnny_blaze
  Textdatei auslesen. einstein1805 16 11.669 25.07.2011 14:58
Letzter Beitrag: Y-P

Gehe zu: