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 

Performance vom Dateneinlesen zu gering



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!

15.12.2010, 19:02 (Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2010 19:16 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.519
Registriert seit: May 2009

LV2019 (LV2021)
1995
DE_EN

10×××
Deutschland
Performance vom Dateneinlesen zu gering
Hallo mrstrom,

wer hat sich bloß dieses Format ausgedacht...

Zitat:eine Kommentarzeile die mit # abgeschlossen wird und in der zweiten Zeile die Namen der Parameter die mit * abgeschlossen wird. Weiterhin wird jede Messung mit ? abgeschlossen. Die einzelnen Parameter in einer Messung werden durch ; voneinander getrennt.

Ausschnitt der Text-Datei:
Zitat:17.11.2010 15:25
#
Anzahl Spektren; v_block[V]; v_inject[V]; v_drift[V]; v_aperture[V]; Injection Time; Numeric; Numeric 2; Numeric 3; Spektrum*
54795,000000; -2,024690; 249,973020; 2027,981440; 0,731300; 100,000000; 0,000000; 0,000000; 0,000000; 1,197910' 1,575700' 1,249882' 1,147089' 1,122492' 1,147639' 1,091119' 0,232609' 1,186198' 1,162226'

Format mal aufgedröselt:
- erste Zeile mit Datum + Uhrzeit
- zweite Zeile mit einem #
- dritte Zeile mit Kanalnamen, beendet mit einem *
- vierte Zeile: zuerst die Werte zu den Kanalnamen, jeweils durch ein ";" abgetrennt, danach (ohne Zeilenende dazwischen!) die Spektrumswerte, diesmal getrennt mit einem Hochkomma (! Wieso das denn?)
- ganz am Ende: wieder ein ";", ein "?", ein ";" mittendrin noch ein Zeilenende...
Und noch besser: zusätzlich zu den Trennzeichen noch jede Menge Leerzeichen (statt einfach ein Tab dazwischen zu setzen)

Also Lösung:
-Datei lesen
- am # splitten, Datum+Uhrzeit auswerten
- am * splitten, Kanalnamen auswerten (falls nötig, anscheinend sind die ja feststehend, da du schon einen Cluster vorbereitet hast)
- Werte entsprechend Kanalnamen lesen, (z.B. mit einer FOR-Schleife), die Werte mit BundleByName in den vorbereiteten Cluster eintragen
- am nächsten ";" splitten (dies wäre das nach den Spektrumswerte), per SpreadsheetstringToArray mit Trennzeichen "'" (Hochkomma) in ein Array of DBL umwandeln, in Cluster eintragen
Fertig!

So sieht das aus (ohne das BundleByName und einige kleinere AuswertungenSmile):
   
Laden deiner Datei in unter 1s...

Zitat:Wenn es keine andere Möglichkeit gibt könnte ich zur Not das Format der Datei ändern ( aber nur wenn es unbedingt sein muss.
Mein Vorschlag:
- Sinnvoller Einsatz von Zeilenendezeichen
- statt mehrerer Leerzeichen nur ein Tab zwischen den Werten, Verzicht auf ";" und Hochkomma (da ja schon das Tab als Trennzeichen vorhanden und ausreichend ist)
- wenn Spektrumswerte eindimensional sind, dann alle Werte untereinander oder zumindest auf maximal 16 Werte pro Zeile begrenzt (dann meckert Excel nicht beim Einlesen deiner Textdatei!), Anzahl der Werte steht ja schon im Header

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
Performance vom Dateneinlesen zu gering - GerdW - 15.12.2010 19:02

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Probleme mit Performance (Berechnungen und Grafik) catbull 5 5.525 21.07.2018 10:13
Letzter Beitrag: IchSelbst
  Performance beim Betrieb über WLAN Heber 9 6.768 22.08.2017 14:28
Letzter Beitrag: Heber
  Melder Performance D_Sev 13 12.245 08.09.2014 10:56
Letzter Beitrag: GerdW
  Unerwarteter Performance-Einbruch D_Sev 4 5.495 11.11.2013 12:36
Letzter Beitrag: jg
  Performance von Tabelle/Listenfeld schreiben derherrk 8 7.306 03.06.2013 08:28
Letzter Beitrag: Achim
  LabView-Performance yusuf 89 4 5.478 14.05.2013 08:30
Letzter Beitrag: Y-P

Gehe zu: