' schrieb:Knackpunkt ist einfach, dass du in einer bestehenden Datei nicht in einer beliebigen Zeile rechts weiterschreiben kannst. An Datei anhängen bedeutet immer unten anhängen.
Du schreibst auch etwas wirr, einmal willst du Daten irgendwann (rechts) anhängen müssen... ein ander Mal hast du alle Daten und willst die in die Datei zeilenweise schreiben...
Dann versuche ich mal das etwas klarer zu formulieren:
Ich habe die Daten alle vorliegen und will sie in die Datei schreiben, wobei die Datenpunkte von einem Signal untereinander stehen sollen. Die vom zweiten Signal sollen danneben stehen und auch untereinander.
Diese Struktur bekomme ich wenn ich die Daten als 2-D-Array vorliegen habe und dann trosponiert in die Datei schreibe.
Tatsächlich habe ich jedoch nicht 2 Signale, sonder mehr. Da kommt noch das Frequenzspektrum, die Kreuzkorrelation und evtl. noch weitere Signale dazu.
In jedem Fall erreiche ich zu einem bestimmten Zeitpunkt den Zustand das ich die Daten, die ich in eine Datei schreiben will alle vorliegen habe, ohne das bisher eine Datei erstellt wurde.
Diese Daten würden zusammengefasst nun z.B. ein 5-dimensionales Array ergeben, sind aber noch nicht zu einem solchen zusammengefasst.
Diese Daten will ich nun alle in
eine Datei schreiben, wobei jede Spalte ein Signal sein soll.
Würde die Write to Spreadsheet Arrays beliebiger Dimension annehmen würde ich die Daten einfach zu einem Array zusammenfassen und es transponiert abspeichern.
So wie ich die FUnktion verstanden habe kann sie aber nur mit maximal 2-dimensionalen Arrays umgehen. Darum kam ich auf die Idee erst ein 2-D-Array abzuspeichern und dann das nächste daneben zu setzen. Wie ich Deiner Antwort entnehem kann das aber nicht funktionieren, weil die Daten immer unten angehängt werden.
Mein Problem ist somit das ich ein z.B. 5-dimensionales Array transponiert in die Datei schreiben will, aber es dafür anscheinend keine fertige Funktion gibt.
Darum wollte ich nun wissen, ob es einen einfachereren Weg gibt als den folgenden:
1. Daten zu einem 5-D-Array zusammenfassen
2. 5-D-Array transponieren
3. erstes Teilarray des transponierten 5-D-Arrays nehmen
4. dieses Teilarray (sollte ja 5 Elemente beinhalten) in die Datei schreiben
5. nächstes Teilarray holen
6. nächstes Teilarray an Datei anfügen
7. Schritte 5 und 6 mittels Schleife wiederholen, bis alle Daten geschrieben sind
8. Schleife verlassen
' schrieb:Also sage ich einfach mal, wie ich die Datei nach rechts hin auffüllen würde. Bedingung dafür ist dann, dass die Datei erzeugt wird, es werden Daten geschrieben, die Datei wird geschlossen und du willst irgendwann neue Daten an diese Datei anhängen.
-> Daten sammeln
-> Datei öffnen
-> Datei auslesen
-> Ausgelesene Daten mit den neuen kombinieren, sodass das neue Array nach rechts hin aufgefüllt wurde
-> Neues Array in Datei speichern, nicht anhängen sondern überschreiben
Falls du alle Daten sammelst und nur am Ende die Datei schreibst und danach nicht mehr anfassen musst, würde ich dir weiterhin empfehlen die Daten in einem 2D-ArrayOfString zu sammeln. Das hat den Vorteil, dass du einfach mal ein Anzeigeelement anschließen kannst um zu schauen wie das Array (und damit später die Datei) aussieht.
Gruß SeBa
Das Vorgehen zum "rechts anhängen" klingt nach einer ähnlichen Struktur, wie ich sie mir auch überlegt hatte.
Das Problem ist ja nur, dass es sich nicht um ein 2-D-Array handelt, sondern um mehrere, die alle in die gleiche Datei sollen, was die Funktion ja nicht unterstützt, soweit mir bekannt.
Gruß
T-M
PS: Zur Verdeutlichung evtl. noch dieses VI, das ich bisher habe. (LabView 8.2)
Ich erstelle damit 2 Dateien, weil ich es eben bisher noch nicht geschafft habe die Daten die ich da abspeichere (2 2-D-Arrays, also zussammen ein 4-D-Array) in eine Datei zu speichern, was ja mein Ziel ist.