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 

Bestimmte Anzahl Zeilen aus ASCII-Datei 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!

08.02.2007, 17:19 (Dieser Beitrag wurde zuletzt bearbeitet: 08.02.2007 17:20 von Guybrush.)
Beitrag #1

Guybrush Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Feb 2007

8.00
-
kA


Deutschland
Bestimmte Anzahl Zeilen aus ASCII-Datei einlesen
Hallo,

ich bin noch ziemlich neu bei LabVIEW und vielleicht habe ich auch gerade nur Tomaten auf den Augen, doch alle Suche nach einer hilfreichen Funktion hat mir nicht weitergeholfen, deswegen frage ich hier.

Zum Problem:

Ich habe eine ASCII-Datei mit Messdaten (Tab-getrennt), die ich auch ganz gut als Spreadsheet-File einlesen und verarbeiten kann. Nun enthält diese Datei auch noch Informationen über die Meßbedingungen. Diese sind am Ende der Datei als eine "Spalte" angegeben, werden aber beim Einlesen als Spreadsheet-File ignoriert, weil es sich um einen String handelt.

Nun habe ich in meinem LabVIEW-Einführungsbuch etwas über die Funktion "Zeilen aus Datei lesen" gelesen, mit der man eine festgelegte Anzahl von Zeilen aus einer Datei, beginnend bei einem festgelegten Offset auslesen kann. Diese Funktion würde mir weiterhelfen, denke ich zumindest, aber ich finde sie einfach nichtSad

Es gibt zwar die Funktion "Aus Textdatei lesen", aber die liest dann eben die gesamte Datei ein, was bedeuten würde, ich müsste nochmal im String nach den entsprechenden Abschnitt suchen lassen usw usf.

Gibt es da eine einfache schnelle Lösung? Und wenn nein, habt ihr evtl. eine Idee, wie man das Problem einigermaßen elegant lösen könnte?

Danke schonmal im Voraus, ich geh solange mal weiterprobierenWink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.02.2007, 18:26
Beitrag #2

A.Berndsen Offline
LVF-Team
LVF-Team

Beiträge: 2.437
Registriert seit: Feb 2005

8.2.1 - 2011
2004
DE

724xx
Deutschland
Bestimmte Anzahl Zeilen aus ASCII-Datei einlesen
Hallo Guybrush,

Du willst Zeilen aus der Datei lesen?
Kein Problem! Das VI "Aus Textdatei lesen" ist ok. Einfach mal rechten Mausklick auf das VI und im Kontextmenü "Zeilen lesen" auswählen.
Kannst Du mal eine Beispiel Textdatei posten. Ich kann mir das mit der Spalte am Ende der Datei nicht wirklich vorstellen.
' schrieb:... am Ende der Datei als eine "Spalte" angegeben, ...

Gruß
Andreas

Geht nicht, gibts nicht!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.02.2007, 21:09 (Dieser Beitrag wurde zuletzt bearbeitet: 08.02.2007 21:12 von Guybrush.)
Beitrag #3

Guybrush Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Feb 2007

8.00
-
kA


Deutschland
Bestimmte Anzahl Zeilen aus ASCII-Datei einlesen
So, hab mal eine "abgespeckte" Version von so einer Datei hochgeladen. Auch nur als .txt, weil .asc durfte ich nicht. Aber ich denke das Wesentliche wird deutlichWink

Im ersten Teil stehen in den Zeilen die x-Werte (1. Spalte) und dann mit Tabs getrennt mehrere y-Werte (zugehörig zu einer Zeitskala, die direkt im File aber nicht mitgespeichert wird). Zum Ende dann die Setup-Daten (Leerzeichengetrennt über mehrere Zeilen, deswegen "eine Spalte"), aus denen man auch die Zeitskala berechnen kann (deswegen brauch ich die so dringend.

Leider bin ich gerade zu Hause und kann deinen Tip nicht ausprobieren, werde ich jedoch morgen gleich mal tun.

Vielen Dank schonmalSmile


Angehängte Datei(en)
Sonstige .txt  beispiel.txt (Größe: 927 Bytes / Downloads: 301)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.02.2007, 21:44
Beitrag #4

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Bestimmte Anzahl Zeilen aus ASCII-Datei einlesen
Hallo,

ich hab' Dir was gebaut. Jetzt musst Du nur noch das Array, das Du erhalten hast, indizieren (index Array), um an die einzelnen Zeilen zu kommen.

Gruß Markus


Angehängte Datei(en)
Sonstige .vi  Zeilen_aus_Textdatei_lesen.vi (Größe: 8,11 KB / Downloads: 295)

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.02.2007, 09:51
Beitrag #5

A.Berndsen Offline
LVF-Team
LVF-Team

Beiträge: 2.437
Registriert seit: Feb 2005

8.2.1 - 2011
2004
DE

724xx
Deutschland
Bestimmte Anzahl Zeilen aus ASCII-Datei einlesen
' schrieb:So, hab mal eine "abgespeckte" Version von so einer Datei hochgeladen. Auch nur als .txt, weil .asc durfte ich nicht. Aber ich denke das Wesentliche wird deutlichWink

Hallo Guybrush,

ich hab mir Dein File angesehen und weiß jetzt wie das gemeint war.
Im Anhang findes Du ein VI, mit dem ich Deine Beispieldatei eingelesen habe und den Dateiinhalt in Daten und Setup trenne.
Vielleicht hilft Dir das als Anregung.

Grüße
Andreas


Angehängte Datei(en)
Sonstige .vi  Daten_aus_Txt_File_trennen.vi (Größe: 33,01 KB / Downloads: 245)

Geht nicht, gibts nicht!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2007, 15:57
Beitrag #6

Guybrush Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Feb 2007

8.00
-
kA


Deutschland
Bestimmte Anzahl Zeilen aus ASCII-Datei einlesen
Hallo,

vielen Dank für Eure Hinweise und Beispiele. Leider war ich die letzten Tage sehr krank und hatte heute auf Arbeit nur wenig Zeit, sie auszuprobieren, doch scheint das Problem auf verschiedenen Wegen lösbar zu sein. Ich werde versuchen das nach bestem Wissen und Gewissen umzusetzen und dann das Ergebnis hier posten, ich bin sicher es gibt dann noch das eine oder andere zu verbessernWink

Bis dahin seid gewiss, dass ihr mir schon sehr helfen konntetSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.02.2007, 22:24
Beitrag #7

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Bestimmte Anzahl Zeilen aus ASCII-Datei einlesen
Hallo Guybrush,

viel Spaß beim Probieren und gute Besserung.
Wenn Du noch Fragen hast, wenn Du das nach "bestem Wissen und Gewissen" (Big Grin) programmierst, dann frag' ruhig. Wink

Gruß Markus

PS: Ich finde es echt klasse, den Namen "Guybrush" wieder aufleben zu lassen. Es lebe Monkey Island!! Lol

' schrieb:Hallo,

vielen Dank für Eure Hinweise und Beispiele. Leider war ich die letzten Tage sehr krank und hatte heute auf Arbeit nur wenig Zeit, sie auszuprobieren, doch scheint das Problem auf verschiedenen Wegen lösbar zu sein. Ich werde versuchen das nach bestem Wissen und Gewissen umzusetzen und dann das Ergebnis hier posten, ich bin sicher es gibt dann noch das eine oder andere zu verbessernWink

Bis dahin seid gewiss, dass ihr mir schon sehr helfen konntetSmile

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.02.2007, 16:46
Beitrag #8

Guybrush Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Feb 2007

8.00
-
kA


Deutschland
Bestimmte Anzahl Zeilen aus ASCII-Datei einlesen
' schrieb:Hallo Guybrush,

viel Spaß beim Probieren und gute Besserung.
Wenn Du noch Fragen hast, wenn Du das nach "bestem Wissen und Gewissen" (Big Grin) programmierst, dann frag' ruhig. Wink

Gruß Markus

DankeSmile

Soderle, bin dann erstmal so weit, dass ich die Daten so einlesen lassen konnte, wie ich wollte und auch die entsprechende Zeitachse schon berechnet habe. Auch die Darstellung mehrerer Spektren (im Datenfile finden sich insgesamt 75) ist mir gelungen, es werden 5 Spektren gezeigt, dazu wird vorher die Gesamtzahl der Spektren bestimmt, durch 4 (willkürlicher Wert im Moment) geteilt und dann also aus den "verbleibenden" Gesamtzahl/4 Spektren jedes Gesamtzahl/4/5-te-Spektrum dargestellt, angefangen beim ersten Spektrum. (Hat das jetzt jemand verstanden? glaube eher nicht, bei der konfusen Erklärung Rolleyes)

Hab das VI mal angehangen und auch noch ein richtiges Datenfile dazugepackt. Freue mich über alle Kommentare bezüglich Programmierlogik, Funktionsverwendung, Anordnung im Blockdiagramm usw usfWink

Zitat:PS: Ich finde es echt klasse, den Namen "Guybrush" wieder aufleben zu lassen. Es lebe Monkey Island!! Lol

Ja, da geht nix drüberWink


Angehängte Datei(en)
Sonstige .txt  daten.txt (Größe: 285,39 KB / Downloads: 305)

Sonstige .vi  Auswertung.vi (Größe: 64,03 KB / Downloads: 205)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.02.2007, 19:49
Beitrag #9

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Bestimmte Anzahl Zeilen aus ASCII-Datei einlesen
Jetzt fehlt bloß noch das SubVI "Extract Numbers.vi", dann ist es vollständig. Big Grin

Gruß Markus

' schrieb:DankeSmile

Soderle, bin dann erstmal so weit, dass ich die Daten so einlesen lassen konnte, wie ich wollte und auch die entsprechende Zeitachse schon berechnet habe. Auch die Darstellung mehrerer Spektren (im Datenfile finden sich insgesamt 75) ist mir gelungen, es werden 5 Spektren gezeigt, dazu wird vorher die Gesamtzahl der Spektren bestimmt, durch 4 (willkürlicher Wert im Moment) geteilt und dann also aus den "verbleibenden" Gesamtzahl/4 Spektren jedes Gesamtzahl/4/5-te-Spektrum dargestellt, angefangen beim ersten Spektrum. (Hat das jetzt jemand verstanden? glaube eher nicht, bei der konfusen Erklärung Rolleyes)

Hab das VI mal angehangen und auch noch ein richtiges Datenfile dazugepackt. Freue mich über alle Kommentare bezüglich Programmierlogik, Funktionsverwendung, Anordnung im Blockdiagramm usw usfWink
Ja, da geht nix drüberWink

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.02.2007, 09:38
Beitrag #10

Guybrush Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Feb 2007

8.00
-
kA


Deutschland
Bestimmte Anzahl Zeilen aus ASCII-Datei einlesen
' schrieb:Jetzt fehlt bloß noch das SubVI "Extract Numbers.vi", dann ist es vollständig. Big Grin

Gruß Markus

Das gibts im LabVIEW-Ordner unter examples/general/strings.lbb oder jetzt auch im Anhang dieses PostsWink


Angehängte Datei(en)
Sonstige .vi  Extract_Numbers.vi (Größe: 16,62 KB / Downloads: 206)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Mit ODBC Zugriff nur bestimmte Tabellen sichtbar TpunktN 4 4.817 19.08.2022 07:12
Letzter Beitrag: TpunktN
  VI begrenzt gelesene CSV Datei auf 128 Zeilen rackpack 1 2.543 22.04.2022 10:49
Letzter Beitrag: GerdW
  Leere Zeilen aus Array löschen MN_ 7 6.224 28.05.2021 13:17
Letzter Beitrag: Lucki
  bestimmte Werte aus Array lesen psypher 5 7.534 12.04.2016 09:21
Letzter Beitrag: psypher
  Fehlercode-Editor Datei manuell einlesen TobSTAR 5 7.541 01.12.2015 09:23
Letzter Beitrag: jg
  Kontinuierliches einlesen aus einer .csv Excel Datei Chris_89 1 4.997 01.12.2014 07:59
Letzter Beitrag: RMR

Gehe zu: