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:

Textdatei 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!

24.07.2011, 16:46
Beitrag #1

einstein1805 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jun 2011

11.0
2011
DE

52072
Deutschland
Textdatei auslesen.
Hallo Gemeinde.

Da Ihr mehr Erfahrung mit LV habt, hier meine Frage.
Wie lange dauert es eine Textdatei von einer Größe von 85MB auszulesen.
Diese .txt-Datei ist in 5 Spalten und ca. 600000 Zeilen aufgebaut. Das auslesen der Datei erfolgt über zwei for-Schleifen. Die erste liest die Zeile aus und die nachfolgende Schleife sortiert mir die Werte in den Spalten. Letztens habe ich eine 27MB-Datei ausgewertet und das dauerte "16 Stunden".
Ist das normal?

Gruß Einstein
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2011, 17:50
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Textdatei auslesen.
Hallo Einstein,

Zitat:das dauerte "16 Stunden". Ist das normal?
Nö.

Es gilt wie immer:
- VI anhängen!
- (Auszug deiner) Textdatei anhängen oder deren Format sauber beschreiben

Um 85MB zu lesen, benötigt ein moderner PC <5s. Alles weitere liegt in deiner Programmierung begründet...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2011, 21:19
Beitrag #3

einstein1805 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jun 2011

11.0
2011
DE

52072
Deutschland
RE: Textdatei auslesen.
Hallo Gerd.

Im Anhang befinden sich die Rohdaten und im anderen Bild die Programmierung. Die erste Schleife liest die Zeile und die zweite Schleife die einzelnen Spalten.

Gruß Einstein


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2011, 06:19 (Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2011 07:16 von Y-P.)
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
RE: Textdatei auslesen.
Bahn, aber wenn man innerhalb eines Schleifendurchgangs der äußeren Schleife 6 Initialize-Arrays (an der inneren For-Schleife) verwendet, ist das eher problematisch.
Was möchtest Du denn genau machen. Ich blicke da nicht wirklich durch.

Gruß Markus

--------------------------------------------------------------------------
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
25.07.2011, 07:12 (Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2011 07:49 von Lucki.)
Beitrag #5

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: Textdatei auslesen.
Gerd schieb:
Zitat:Es gilt wie immer:
- VI anhängen!
- (Auszug deiner) Textdatei anhängen oder deren Format sauber beschreiben

Denn Du das machst, motiviert das die Experten ungemein. Bei den geposteten 2 Bildern statt des echten VIs und des echten Textes ist das aber weniger der Fall.

Und übrigens: Einsteins "Annus mirabilis", in dem er fünf Schriften veröffentlichte, die die Welt der Physik revolutionierten, war 1905 und nicht 1805. Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2011, 07:49 (Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2011 07:51 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Textdatei auslesen.
Hallo Einstein,

schon mal die Hilfe zur Funktion SpreadsheetstringToArray durchgelesen? (Ich gebe zu, auch die könnte bei 85MB-Textdateien Probleme machen - aber weniger als deine ">16h"-Aktion...)

Außerdem:
Was ist denn "25.04.2011 14:02:34.942.322" für ein Zeitstempel? Insbesondere der Teil nach den Sekundenangaben?
Alles andere lässt sich wunderbar nach Zahlen konvertieren...

Zitat:Es gilt wie immer:
- VI anhängen!
Was ist daran so schwierig zu verstehen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2011, 08:27
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Textdatei auslesen.
Klar brauchst du mit diesem Konstrukt > 16h. Match Regular Expression ist eine sehr mächtige, aber damit auch sehr langsame Funktion. Da du das jetzt für jede Zeile machst, und dann auch noch 6x pro Zeile, wundert mich es nicht, dass du solange brauchst.

Befolge Gerds Vorschlag.

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
25.07.2011, 08:48
Beitrag #8

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
RE: Textdatei auslesen.
Also wenn man mal deinen Zeitstempel mit einem Standard-Zeitstempel ersetzt, dann braucht mein (gefühlt) uralt Laptop greade mal 17 Sekunden um 600000 Zeilen je 6 Spalten zu interpretieren. Und das dann noch mit ner QnD Methode Blush

   

PS:
Die Datei mit 600000 Zeilen mit deinen Werten ist bei mir nur ~38MB

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2011, 09:49
Beitrag #9

einstein1805 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jun 2011

11.0
2011
DE

52072
Deutschland
RE: Textdatei auslesen.
Hi.

Also erst mal viel Dank für Euren Support. Jetzt werde ich Eurer Aufforderung nachkommen und ein Vi und Testdaten hochladen. Allerdings hat sich das Problem gelöst. Ich habe den Baustein "Match Regular Expression" ersetzt durch "Match Pattern" und siehe da, kaum habe ich auf ausführen gedrückt, schon ist das Ergebnis da.

Trotzdem könnt Ihr gerne nochmal drüberschauen und mir weitere Ratschläge unterbreiten.

Gruß Einstein


Angehängte Datei(en)
2009 .vi  Daten auslesen.vi (Größe: 14,82 KB / Downloads: 222)

0 .txt  Testdaten.txt (Größe: 3,57 MB / Downloads: 479)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2011, 10:01 (Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2011 10:08 von GerdW.)
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Textdatei auslesen.

Akzeptierte Lösung

Hallo Einstein,

mal auf die ganz simple Tour:
   
(Was man noch vereinfachen könnte, indem man die Vorgabe für SpreadsheetstringToArray auf DBL und "%,;%f" ändert - dann kann man aber die Timestamps nicht auswerten, falls das mal nötig wird...)

P.S.:
Wozu wandelst du deine Daten von Array nach Matrix um? Reicht es dir nicht aus, einfach per IndexArray die gewünschten Spalten zu indizieren? Blink

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
  Bestimmter Teil einer Textdatei auslesen ExperimetalPhysiker 3 5.600 24.02.2014 09:08
Letzter Beitrag: GerdW
  Werte aus Textdatei mit festgelegter Maske auslesen Wator 11 10.732 28.06.2012 14:33
Letzter Beitrag: Lucki
  Textdatei auslesen uecontitech 3 6.821 31.03.2010 14:59
Letzter Beitrag: andimtb
  Bestimmten Wert aus Textdatei auslesen kratzens 7 8.591 19.01.2010 21:24
Letzter Beitrag: SeBa
  letzte Zeile einer Textdatei auslesen und einen String anfügen greglemond 7 9.727 19.07.2009 09:54
Letzter Beitrag: GerdW
  Text und Zahlen aus Textdatei auslesen Tauerus 2 3.956 16.02.2006 13:12
Letzter Beitrag: Tauerus

Gehe zu: