LabVIEWForum.de
Array nach String durchsuchen - 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: Array nach String durchsuchen (/Thread-Array-nach-String-durchsuchen)



Array nach String durchsuchen - MarcoN - 02.12.2019 08:54

Hallo,

gibt es eine Möglichkeit/VI, dass ich vielleicht noch nicht kenne um eine .txt-Datei bzw. ein Array nach einem String zu durchsuchen und gleichzeitig den Index für die Reihe zu bekommen? Kurzes Beispiel für meine .txt-Datei:

Datum Seriennummer Prüfer Kategorie Fehler

xx.xx.xx 0000xxxxxx 123 Pruefstandfehler Oszi hängt sich auf
xx.xx.xx 0000xxxxxx 123 Maschinenfehler Gasventil undicht


Ich möchte zwischen der Kategorie "Pruefstandfehler" und "Maschinenfehler" unterscheiden. Als Beispiel möchte ich jetzt die Datei nach allen Maschinenfehlern durchsuchen. Ich suche also mit "Index Array" in Spalte 3 und ab Zeile 2-.... nach dem String Maschinenfehler. Da ich aber nicht nur Maschinenfehler auswerten will sondern die ganze Zeile, brauche ich jetzt eine Möglichkeit die komplette Zeile zu lesen.

Oder ist es leichter einfach eine zweite Datei zu erstellen und direkt nach den Kategorien zu sortieren? Big Grin


RE: Array nach String durchsuchen - Achim - 02.12.2019 09:09

???

Durchsuche die Spalte nach deinem String, mit "Search 1D Array"...dann kriegst du den Index...und denn schließt du dann an "Array Subset" an und kriegst so die ganze Zeile


RE: Array nach String durchsuchen - GerdW - 02.12.2019 09:14

Hallo Marco,

Zitat:Kurzes Beispiel für meine .txt-Datei:
Datum Seriennummer Prüfer Kategorie Fehler
xx.xx.xx 0000xxxxxx 123 Pruefstandfehler Oszi hängt sich auf
xx.xx.xx 0000xxxxxx 123 Maschinenfehler Gasventil undicht
Lies diese Datei als Array of Textzeilen ein, ReadTextFile bietet dir diese Option.
Dann nur noch eine autoindizierende FOR-Loop über alle Zeilen, die jede Zeile (bzw. ihren Index, der dem Schleifenzähler entspricht) per MatchPattern den beiden Fehlerklassen zuordnet…

[attachment=60586]
(In neueren LabVIEW-Versionen einfach conditional tunnels verwenden, um wirklich nur die interessierenden Indizes zu erhalten.)


RE: Array nach String durchsuchen - MarcoN - 02.12.2019 10:18

(02.12.2019 09:09 )Achim schrieb:  ???

Durchsuche die Spalte nach deinem String, mit "Search 1D Array"...dann kriegst du den Index...und denn schließt du dann an "Array Subset" an und kriegst so die ganze Zeile

Hab kein 1D Array..

(02.12.2019 09:14 )GerdW schrieb:  Hallo Marco,

Zitat:Kurzes Beispiel für meine .txt-Datei:
Datum Seriennummer Prüfer Kategorie Fehler
xx.xx.xx 0000xxxxxx 123 Pruefstandfehler Oszi hängt sich auf
xx.xx.xx 0000xxxxxx 123 Maschinenfehler Gasventil undicht
Lies diese Datei als Array of Textzeilen ein, ReadTextFile bietet dir diese Option.
Dann nur noch eine autoindizierende FOR-Loop über alle Zeilen, die jede Zeile (bzw. ihren Index, der dem Schleifenzähler entspricht) per MatchPattern den beiden Fehlerklassen zuordnet…


(In neueren LabVIEW-Versionen einfach conditional tunnels verwenden, um wirklich nur die interessierenden Indizes zu erhalten.)

Hallo Gerd,

ich finde die Funktion für "Array of Textzeilen" nicht. Bei mir kommt aus dem ReadTextFile nur ein riesen String raus..



Ich erstelle einfach eine zweite Datei und trenne die 2 Kategorien direkt von Anfang an..

Danke trotzdem für die Hilfe


RE: Array nach String durchsuchen - GerdW - 02.12.2019 10:26

Hallo Marco,

Zitat:ich finde die Funktion für "Array of Textzeilen" nicht. Bei mir kommt aus dem ReadTextFile nur ein riesen String raus..
Dann lies dir doch einfach mal die LabVIEW-Hilfe zur Funktion ReadFromTextfile durch und wähle die passenden Optionen und Inputs!


RE: Array nach String durchsuchen - MarcoN - 02.12.2019 11:33

(02.12.2019 10:26 )GerdW schrieb:  Hallo Marco,

Zitat:ich finde die Funktion für "Array of Textzeilen" nicht. Bei mir kommt aus dem ReadTextFile nur ein riesen String raus..
Dann lies dir doch einfach mal die LabVIEW-Hilfe zur Funktion ReadFromTextfile durch und wähle die passenden Optionen und Inputs!

Super, klappt jetzt.

Und danke für den kleinen Lernfaktor^^
Ich habe einfach nicht die Einstellung dafür gefunden...