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:

Bestimmte Daten aus csv Datei in Array schreiben



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!

21.03.2014, 14:37
Beitrag #11

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Bestimmte Daten aus csv Datei in Array schreiben
Hier mal 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
Anzeige
21.03.2014, 16:21
Beitrag #12

Serial Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: Mar 2014

8.2
2013
DE



RE: Bestimmte Daten aus csv Datei in Array schreiben
Danke schonmal an Euch =)

Ich will das Array löschen, welches mit der FOR Schleife erzeugt wird. Aber erst nachdem man z.b. auf Löschen klickt. Ich werde die Ratschläge versuchen am Montag umzusetzen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.03.2014, 16:27
Beitrag #13

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Bestimmte Daten aus csv Datei in Array schreiben
Hallo Serial,

Zitat:Ich will das Array löschen, welches mit der FOR Schleife erzeugt wird. Aber erst nachdem man z.b. auf Löschen klickt
Pseudocode:
Code:
IF "löschen geklickt"
THEN array:=[]

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2014, 09:49 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2014 10:00 von Lucki.)
Beitrag #14

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: Bestimmte Daten aus csv Datei in Array schreiben
Das Programm wird natürlich am Einfachsten beim zeilenweisen Einlesen, d.h. immer nur 1 Zeile. Es ist ein hier leider nicht auszurottendes Vorurteil, dass das Programm wegen der vielen Lesezugriffe auf die mechanich funktionierende Disk dann enorm langsam ist. Dem ist aber nicht so, denn a) haben die heutigen HDs einen eingebauten Puffer (für Lesen und Schreiben) von mindestens 2 GB, und b) stellt auch das Betriebssystem (Windows) einen solchen Puffer zur Verfügung. Wie sich die beiden Puffer untereinander abstimmen, weiß ich nicht, interessiert auch nicht, man muss nur so viel wissen, dass diese Puffer existieren und daß man zur Beschleunigung von zeilenweisen Lese- und Auswertevorgängen nicht noch einen selbstgebastelten dritten Puffer braucht, dessen Inhalt man dann zur zeilenweisen Auswertung jedes Mal aufdröseln müßte.
Test übrigens ganz einfach: Gesamte Datei zeilenweise Lesen, ohne die Zeilen zu speichern, und die Zeitdauer feststellen. Dann immer 10 Zeilen lesen, und festellen, dass das nicht wesentlich etwas bringt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.03.2014, 08:00
Beitrag #15

Serial Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: Mar 2014

8.2
2013
DE



RE: Bestimmte Daten aus csv Datei in Array schreiben
(21.03.2014 16:27 )GerdW schrieb:  Hallo Serial,

Zitat:Ich will das Array löschen, welches mit der FOR Schleife erzeugt wird. Aber erst nachdem man z.b. auf Löschen klickt
Pseudocode:
Code:
IF "löschen geklickt"
THEN array:=[]

Hi, da bin ich wieder. Ich habe mich am Wochenende rangesetzt und bin auch ziemlich schnell auf eine Lösung gekommen, um das bereits erstellte Array zu löschen. So kann man nun eine neue Messwertdatei auswählen und das Array "neu" beschreiben.
Ich habe das einfach mit einer Konstante am Eingang der CASE Struktur gemacht. So wird vor dem erneuten einlesen ein "0" Array erstellt (als Einang für die CASE-Struktur).

Ich habe mal ein VI hochgeladen, welches dem entspricht (für die Leute, die vielleicht ähnliches Problem hatten)

Servus


Angehängte Datei(en)
8.2 .vi  Array_erstellen_und_löschen.vi (Größe: 13,03 KB / Downloads: 222)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.03.2014, 08:31
Beitrag #16

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Bestimmte Daten aus csv Datei in Array schreiben
Hallo Serial,

damit hast du den Hinweis zu den bisher uninitialisierten Schieberegistern endlich umgesetzt!

Ich würde es so machen:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.03.2014, 08:43 (Dieser Beitrag wurde zuletzt bearbeitet: 24.03.2014 08:48 von Serial.)
Beitrag #17

Serial Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: Mar 2014

8.2
2013
DE



RE: Bestimmte Daten aus csv Datei in Array schreiben
(24.03.2014 08:31 )GerdW schrieb:  Hallo Serial,

damit hast du den Hinweis zu den bisher uninitialisierten Schieberegistern endlich umgesetzt!

Ich würde es so machen:

Hey,

das habe ich eben fertig gestellt. Bevor es in die FOR-Schleife geht wird ein 1D Array initialisiert und dies dann in die FOR Schleife als "Startarray" geschickt. Dies wird dann nach und nach ersetzt.


Jetzt noch eine Frage.
Reicht es, wenn ich das Array mit der Konstante am Eingang der FOR-Schleife initialisierte oder muss ich es mit dem VI "Array initialisieren" machen, weil dort ja schon die Anzahl der Elemente berücksichtigt wird? Warum ist es allgemein besser ein Array bevor es mit Messdaten beschrieben wird zu erstellen? Wieso kann der Rechner da besser mit arbeiten?

Hänge das VI auch mal an.

MfG


Angehängte Datei(en)
8.2 .vi  Array_vorinitialisieren_und_ersetzen.vi (Größe: 19,98 KB / Downloads: 209)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.03.2014, 08:46
Beitrag #18

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Bestimmte Daten aus csv Datei in Array schreiben
Hallo Serial,

das, was du da in deinem VI machst, ließe sich auch so (einfacher) umsetzen:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.03.2014, 08:52 (Dieser Beitrag wurde zuletzt bearbeitet: 24.03.2014 09:16 von Serial.)
Beitrag #19

Serial Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: Mar 2014

8.2
2013
DE



RE: Bestimmte Daten aus csv Datei in Array schreiben
(24.03.2014 08:46 )GerdW schrieb:  Hallo Serial,

das, was du da in deinem VI machst, ließe sich auch so (einfacher) umsetzen:
Danke, da hast du recht Big Grin . Mir ging es aber nur um das Prinzip. Ich werde damit nachher Messdaten aus einer csv Datei in ein Array schreiben.


Zum Hauptproblem:

Auch wenn ich ein Array vorinitialisiere und dann das VI "Array ersetzen" anwende, ändert das nichts an der Geschwindigkeit, in der die 5 Millionen Messdaten in das Array geschrieben werden. Dabei verwende ich immernoch das VI "Aus Tabellenkalkulationsdatei lesen". Ist dieses VI für die Geschwindigkeit verantwortlich ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.03.2014, 11:03
Beitrag #20

Serial Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: Mar 2014

8.2
2013
DE



RE: Bestimmte Daten aus csv Datei in Array schreiben
So da bin ich wieder.

Jetzt funktioniert alles so, wie es soll. Die Messwerte werden schön eingelesen und dann dargestellt. Nur bleibt noch ein kleines weiteres Problem.

Ich muss im Programmcode oder manuell auf der Bedienoberfläche die länge des Headers eingeben (Anzahl der Zeilen).
In meiner csv Beispieldatei belegt der Header 10 Zeilen. Im Header steht immer ein String, gefolgt von Zahlen in der jeweiligen Zeile.
Erst wenn in jeder Spalte Zahlen sind, ist der Header zuende.

String,wert,wert
String,wert,wert
String,wert,wert
String,wert,wert
String,wert,wert
....
wert,wert,wert,wert
wert,wert,wert,wert
wert,wert,wert,wert
wert,wert,wert,wert
.....


Ich möchte irgendwie schaffen, dass mein Programm automatisch den Übergang von Header zu Wert erkennt und mir zeigt, wieviele Zeilen der Header hat.

MfG
Serial

PS: Meine momentane Lösung sieht so aus, dass ich Standardmäßig 10 Zeilen eingebe oder einfach 100 Zeilen. Ist bei einer Anzahl von 5 Mio Messwerten dann auch egal, wenn die ersten 90 abgeschnitten werden.
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
  Mit ODBC Zugriff nur bestimmte Tabellen sichtbar TpunktN 4 4.685 19.08.2022 07:12
Letzter Beitrag: TpunktN
  PropertyNode Referenz zu Allen Array Elementen (XML schreiben) TpunktN 9 7.354 12.05.2020 08:08
Letzter Beitrag: TpunktN
  Array in XML schreiben MarcoN 7 9.528 24.02.2020 16:11
Letzter Beitrag: TpunktN
  TDMS-Daten direkt schreiben, nicht im RAM halten RabenFlug 2 3.777 12.04.2019 10:23
Letzter Beitrag: RabenFlug
  Datenstrom auf Knopfdruck in Datei schreiben (oder auch nicht) _Markus_ 4 5.951 30.10.2018 09:27
Letzter Beitrag: GerdW
  Daten in einem Access Datenbank schreiben galilio 10 14.191 01.05.2017 08:04
Letzter Beitrag: galilio

Gehe zu: