GSI Helmholtzzentrum für Schwerionenforschung
Im Moment benutze ich für das generieren einer CVS Datei aus Messdaten die Umwandlung in "spreadsheet - string" um diesen dann als Text in eine Datei zu schreiben. Ich kann maximal Arrays mit 2 Dimensionen auf einmal hineinschreiben. Außerdem fehlt mir der Befehl um 1 Dimensionale Arrays zu transponieren. Gibt es einen einfachen Weg, bei dem ich ein Cluster übergeben kann ?
vpeikert wrote on Fri, 17 June 2005 21:13 Im Moment benutze ich für das generieren einer CVS Datei aus Messdaten die Umwandlung in "spreadsheet - string" um diesen dann als Text in eine Datei zu schreiben. Ich kann maximal Arrays mit 2 Dimensionen auf einmal hineinschreiben. Außerdem fehlt mir der Befehl um 1 Dimensionale Arrays zu transponieren. Gibt es einen einfachen Weg, bei dem ich ein Cluster übergeben kann ? Denk Dir eine spreadsheet Datei als aus Zeilen und Spalten bestehendes Arbeitsblatt, dann ist klar, warum nur 2D arrays gehen. Bei 3D Arrays kannst Du nacheinander die einzelnen 2D 'pages' speichern. (Physikalisch ist ja sowieso jede Datei nur eine lineare Anordnung irgendwelcher bytes. Ob man das als 2D gebilde oder sonstwie interpretiert, hängt nur davon ab, welche Trennzeichen man wo einfügt. Die spreadsheet Konvention besteht ja eben darin, einzelne Elemente durch ein Trennzeichen (meistens Tab oder bei CSV eben Comma Separated Values) zu trennen, und eine Ansammlung solcher Werte (=Zeilen) dann durch z.B. ein LineFeed Zeichen. Ob es eine Sonderzeichenvereinbarung gibt, mit dem sich Gruppen von Zeile (='Seiten') abtrennen lassen, weiss ich nicht. Da kannst Du wahrscheinlich jede beliebige Privatkonvention erfinden) Einen N-dimensionalen 1D array kannst Du in einen Nx1 dimensionalen 2D verwandeln und dann transponieren und speichern (um in jeder Zeile des spreadsheets einen Wert und nicht in der 1. Zeile N Werte zu haben). Was Cluster angeht: Das hängt natürlich von der Struktur des Clusters ab, ob es nur Zahlen sind, oder Zahlen und Strings gemischt, oder Zahlen, Strings, enums, etzc. pp....
Danke für die Antwort. Der Cluster soll Stings, Booleans, Integer und Doubles enthalten. Es geht also darum ein beliebiges Cluster in eine CVS Datei zu speichern. Notfalls würde ich ja auch mit append arbeiten um unterschiedliche Datentypen untereinander zu schreiben, aber dann müsste ich den Inhalt der Datei wieder transponieren
vpeikert wrote on Sat, 18 June 2005 09:19 Danke für die Antwort. Der Cluster soll Stings, Booleans, Integer und Doubles enthalten. Es geht also darum ein beliebiges Cluster in eine CVS Datei zu speichern. Notfalls würde ich ja auch mit append arbeiten um unterschiedliche Datentypen untereinander zu schreiben, aber dann müsste ich den Inhalt der Datei wieder transponieren Ich würds so machen wie im angehängten Beispiel (wobei ich nach wie vor davon ausgehe, dass Du CSV, nicht CVS, meinst. CSV steht für 'Comma Separated Values'). Das 2. Beispl. zeigt, wie man für die Booleans statt 'TRUE/FALSE' was sinnvolleres in die Datei schreibt.
Unter http://www.OpenG.org kann man kostenlos eine große Sammlung sehr nützlicher VIs herunterladen. Darunter sind auch solche, die ein nahezu beliebiges Cluster in ein "Configuration File" (ini-Datei) schreiben (siehe Anhang). Einfach den plattformunabhängigen, in LabVIEW geschriebenen "OpenG Commander" installieren und damit die gewünschten Pakete herunterladen.... Gruß Arno