LabVIEWForum.de - 2D-Array in Datei Speichern

LabVIEWForum.de

Normale Version: 2D-Array in Datei Speichern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

ich lese Daten aus einem Spektrometer aus und möchte diese nun in eine *.dat Datei speichern.
Bisher habe ich es mit "Messwerte in Datei speichern" versucht.
Da ich bereits x- und y-Spalte habe benötige ich natürlich keine Zeitspalte mehr.
Stattdessen wird jedoch weiterhin ein Tabulator als erste Spalte erzeugt.
Wie kann ich nun diesen Tabulator loswerden?
Oder gibt es evtl. eine andere Möglichkeit, die Daten als zwei getrennte Spalten in eine *.dat Datei abzuspeichern?
Anbei das Programm, LV-Version ist 8.5.1

Gruß
Johannes

P.S.: Ich habe es auch mit Speichern als Text versucht, dann gibt es zwar keinen überflüssigen Tabulator, die Daten sind aber auch nicht in zwei Spalten gespeichert sondern recht durcheinander.
Hi Johannes

Eine Exceldatei mit Testwerten wäre noch praktisch. Muss es eine *.dat-Datei sein?
Wie sieht der Aufbau deiner *.dat Datei aus bzw wie sollte er aussehen?

Gruss MNussbaumer
Hallo,

vielen Dank für die rasche Antwort.
Hier die gewünschten Dateien.
In der *.dat Datei kommt zuerst ein Tab, dann die x-Daten, dann wieder ein Tab und dann die y-Daten.
Der erste Tab soll weg, es soll also in der Form x-Daten Tab y-Daten gespeichert werden.

Die Daten sollen in einem anderen Programm (spekwin32) geöffnet und bearbeitet werden.
Dieses kann neben diversen Dateiformaten der unterschiedlichen Spektrometer eben nur *.dat öffnen.

Gruß
Johannes
Hier hoffe das hilft dir weiter Wink

LabVIEW 8.5

[attachment=27519]

Gruss MNussbaumer
Also ein 1D-Array mit 1024 Einträgen, beginnend bei 0, inkrementierend um +1... mir fallen so spontan drei Möglichkeiten ein.
Deine ist nicht dabei, ich hab sie aber mal zum Vergleichen mit aufgenommen.

Lv80_img[attachment=27526]
[attachment=27525]


Macht dir sowas Spaß oder welcher Teufel hat dich da geritten?



Gruß SeBa
Hallo,

vielen Dank für die Hilfe.
Leider kann spekwin die Daten so nicht lesen, da Excel 300,000 schreibt statt 300.000.
Bei "Messwerte in Datei speichern" mit Zeitspalte funktioniert das prinzipiell gut, nur eben mit dem Nachteil,
dass ich den Messpunkt und nicht die Wellenlänge als x-Wert habe.

Gruß
Johannes
' schrieb:Leider kann spekwin die Daten so nicht lesen, da Excel 300,000 schreibt statt 300.000.

Erklär bitte mal wo deiner Meinung nach hier Excel involviert ist.

Wenn dich das Dezimaltrennzeichen stört, dann musst du es halt anpassen.



Gruß SeBa
Hallo,

meine Antwort bezog sich auf die Hilfe durch MNussbaumer,
der mir vorgeschlagen hatte doch die Daten mit "In Tabellenkalkulationsdatei schreiben" zu speichern
statt mit "Messwerte in Datei speichern".
Da kommt also Excel ins Spiel. Wie kann ich denn dort das Dezimaltrennzeichen anpassen?

Zum Thema Array:
Ich wusste nicht, wie ich einen Vektor mit Werten 0 bis 1023 erstelle.
Da ich jedoch wusste, wie man einen Diagonalmatrix erstellt habe ich diese einfach mit einem Einser-Vektor multipliziert.
Wie man sieht funktioniert es ja auch.
Danke für deine, sicherlich eleganteren, Lösungen. Darauf wäre ich halt nie gekommen.

Gruß
Johannes
' schrieb:Hallo,

meine Antwort bezog sich auf die Hilfe durch MNussbaumer,
der mir vorgeschlagen hatte doch die Daten mit "In Tabellenkalkulationsdatei schreiben" zu speichern
statt mit "Messwerte in Datei speichern".
Da kommt also Excel ins Spiel. Wie kann ich denn dort das Dezimaltrennzeichen anpassen?

Das VI "In Tabellenkalkulationsdatei schreiben" hat an sich nichts mit Excel zu tun, es wandelt nur die Werte in einem 1 oder 2D Array in Strings um und speichert sie in einer Datei.

Hm bei mir haben die Werte alle einen Punkt statt ein Komma... Evlt die Ländereinstellungen in der Systemsteuerung überprüfen? Ihr habt ja in Deutschland so weit ich weiss das Komma als Standarttrennzeichen oder?

Im Notfall halt alle Werte in Strings umwandeln und das Komma durch einen Punkt ersetzten und dann in die Datei schreiben.


Noch etwas grundsätzliches: Express-VIs sind Gift für die Erweiterbarkeit oder sobald etwas vom Standart abweicht! Ich verwende grundsätzlich so wenig Express-VIs wie möglich, das gleiche gilt auch für dynamic data.

Nur zur Info, kann dir viele graue Haare ersparen Wink
' schrieb:Hallo,

meine Antwort bezog sich auf die Hilfe durch MNussbaumer,
der mir vorgeschlagen hatte doch die Daten mit "In Tabellenkalkulationsdatei schreiben" zu speichern
statt mit "Messwerte in Datei speichern".
Da kommt also Excel ins Spiel. Wie kann ich denn dort das Dezimaltrennzeichen anpassen?

Das hat nichts mit Excel zu tun.

Schließ mal an den Formatstring des VI's "%,;%.3f" an.


Gruß SeBa
Seiten: 1 2
Referenz-URLs