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 

Die letzten 10 Zeilen einer Datei 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!

29.06.2006, 07:07 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2006 07:08 von thomhof0.)
Beitrag #1

thomhof0 Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Jun 2006

2011
2006
kA

97794
Deutschland
Die letzten 10 Zeilen einer Datei auslesen
Hallo,
ich möchte die letzten 10 Zeilen einer Datei auslesen.
Kann ich mir anzeigen lassen, wie viele Zeilen eine Datei enthält?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2006, 07:36
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Die letzten 10 Zeilen einer Datei auslesen
Hi,

was denn für ne Datei? Was steht da drin (Wie)?

Man kann die Dateigröße ermittlen (File IO >> Fortgeschritten), aber um die Anzahl Zeilen in einer Datei (ich schätze mal *.txt ?) muss glaub ich eh (im Hintergrund) die Datei abgegrast werden. Da kann man die Datei auch komplett einlesen, sich z.B. mit den Stringfunktionen die letzten CRLF (Carriage Return Line Feed - Zeilenumbrüche) suchen und den Rest verwerfen. Oder bei Zahlen: Read from Spreadsheet (Aus Tabellenkalkulationsdatei lesen) in ein Array und mit den Arrayfunktionen die gewünschten Zeilen extrahieren.

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2006, 07:58 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2006 07:59 von thomhof0.)
Beitrag #3

thomhof0 Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Jun 2006

2011
2006
kA

97794
Deutschland
Die letzten 10 Zeilen einer Datei auslesen
Ich speichere sie als txt ab, importiere sie aber später in excell, benötige aber vorher in LabVIEW die letzten 10 Zeilen. Datei ist leider immer unterschiedlich groß.

Eine Zeile sieht so aus:

Mittwoch, 28. Juni 2006 23:50:58 15711 100.260.000 28.250.000 28.010.000 4.120.000 2.850.000 0 1.000.000 8.44E+05 2.40E+05 8.32E+05 2.40E+05 8.41E+05 2.39E+05 2.40E+05 8.39E+05 4.53E+08 6.03E+08 3.99E+08 7.51E+02 4.14E+05 3.38E+05 8.65E+05 5.33E+05 Inf 30.593.467

Datei ist ca. 6 MB groß (über 16000 Zeilen), deswegen wollte ich sie nicht ganz laden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2006, 08:40
Beitrag #4

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Die letzten 10 Zeilen einer Datei auslesen
Hi,

hab grad mal mit nem Kollegen "konferiert"...vermutlich wird das nicht funktionieren...das geht nur bei ner Binärdatei, dort kann man an verschiedene Positionen springen und ne gewisse Länge lesen!

Bei txt-Dateien sind die Zeilen aber meist unterschiedlich lang, darum muss man auf jeden Fall nach dem Zeilentrennzeichen (z.B. EOL) suchen!

Kannst du nicht deine Datenspeicherung anders organisieren? Z.B. mehrere Dateien schreiben, die nur vielleicht 500kByte groß sind?

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2006, 08:53
Beitrag #5

thomhof0 Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Jun 2006

2011
2006
kA

97794
Deutschland
Die letzten 10 Zeilen einer Datei auslesen
Danke Achim!
Die Datei wird von einer einzigen Schleife erstellt, die sich ungefähr 16000 mal wiederholt, bis dann der Sollzustand eintritt. Ich werde dann mal Versuchen die ganze Datei zu laden, dann den String umdrehen und so dann die ersten Zeilen auslesen. Falls du eine bessere Lösung hast, kannst du sie mir gerne mitteilen.

MfG
Thomas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2006, 09:21 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2006 09:22 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
Die letzten 10 Zeilen einer Datei auslesen
Wenn die Datei nicht so riesengroß ist, daß LabVIEW beim Einlesen aussteigt, dann würde ich die Datei als Ganzes einlesen, und zwar als Stringvektor, und davon die letzten 10 Elemente auswählen. Wenn Dich die Vektordarstellung stört, kannt Du den Vektor natürlich auch wieder in normalen Text konvertieren. So ungefähr wie hier:


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.06.2006, 09:31
Beitrag #7

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Die letzten 10 Zeilen einer Datei auslesen
Hi,

ich hab mir aus den Zeilen, die thomhof0 gepostet hat, spaßeshalber mal ne ca. 20MB-Datei gebaut...LV hat so ca. 5 Minuten gebraucht, um das in ein Stringfeld zu lesen...uiuiuiuiuiui...diesen String dann auch nocht zu drehen...LV macht schon Mücken, wenn ich nur das Anzeigeelement, in dem der eingelesene String liegt, auf dem FP verschieben will...

Ich würde hier auf jeden Fall mehrere Dateien schreiben (wenn > x, dann neuer Index (Datei_1, Datei_2, Datei_n), oder eben Binärdateien, die brauchen auch nicht so viel Platz!

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2006, 10:31 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2006 10:37 von Lucki.)
Beitrag #8

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Die letzten 10 Zeilen einer Datei auslesen
Hier noch ein Vi, welches das Zwischenspeichern der ganzen Datei vermeidet. Es wird nur immer ein Zeile eingelesen, und das Schiebregister hat am zum Schluß die letzten 10 Zeilen gespeichert. Probiere das mal aus. Falls das Schiebregister zu langsam ist, besteht die Möglichkeit, das ohne Schiebregister, aber in zwei Durchläufen, zu machen. Beim ersten Mal wird nur die Anzahl der Zeilen festgestellt, im zweiten Durchlauf werden die letzten 10 Zeilen gelesen.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2006, 11:19
Beitrag #9

thomhof0 Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Jun 2006

2011
2006
kA

97794
Deutschland
Die letzten 10 Zeilen einer Datei auslesen
Nochmal danke für eure Mühe!
Ich habe auch noch ein bisschen ausprobiert und bin zu dieser Lösung gekommen:

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2006, 11:36
Beitrag #10

Peter.Zeitz Offline
LVF-Grünschnabel
*


Beiträge: 47
Registriert seit: Oct 2005

2011 Pro Dev +Sound&Vibrations
2002
DE

97xxx
Deutschland
Die letzten 10 Zeilen einer Datei auslesen
' schrieb:Ich speichere sie als txt ab, importiere sie aber später in excell, benötige aber vorher in LabVIEW die letzten 10 Zeilen. Datei ist leider immer unterschiedlich groß.

Eine Zeile sieht so aus:

Mittwoch, 28. Juni 2006 23:50:58 15711 100.260.000 28.250.000 28.010.000 4.120.000 2.850.000 0 1.000.000 8.44E+05 2.40E+05 8.32E+05 2.40E+05 8.41E+05 2.39E+05 2.40E+05 8.39E+05 4.53E+08 6.03E+08 3.99E+08 7.51E+02 4.14E+05 3.38E+05 8.65E+05 5.33E+05 Inf 30.593.467

Datei ist ca. 6 MB groß (über 16000 Zeilen), deswegen wollte ich sie nicht ganz laden.

Hallo Thomas,

kannst du die Datei mit "Aus Tabellenkalkulationsdatei lesen" öffnen? Das sollte eigentlich gehen. Wenn ja, musst du nur noch die Array-Größe ermitteln und die letzten zehn Zeilen mit "Teilarray" rausholen.
Der Rest ist dann wohl klar.

Gruß
Peter

Rechtschreibfehler gehören dem ersten Finder;-)
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
  VI begrenzt gelesene CSV Datei auf 128 Zeilen rackpack 1 1.748 22.04.2022 10:49
Letzter Beitrag: GerdW
  Leere Zeilen aus Array löschen MN_ 7 4.519 28.05.2021 13:17
Letzter Beitrag: Lucki
  Automatisches erzeugen einer .txt Datei auf Basis einer anderen .txt Datei PSchenk 5 4.671 18.10.2019 16:06
Letzter Beitrag: PSchenk
  zeitgesteuertes Auslesen einer CSV psypher 9 7.632 25.04.2016 17:25
Letzter Beitrag: psypher
  auslesen der Werte einer .csv psypher 3 5.629 07.04.2016 07:12
Letzter Beitrag: psypher
  gegebene *.xml datei mit gegebener *.dtd auslesen cobain2004 1 5.329 21.03.2016 11:30
Letzter Beitrag: cobain2004

Gehe zu: