Ich suche Hilfe beim Extrahieren einer CSV-Datei, die in einer Zelle in einer Datentabelle gespeichert ist.Ich möchte ein Skript einrichten, um diese Spalte zu durchlaufen und entweder in eine neue Datentabelle zu extrahieren oder den Zellinhalt als CSV-Datei zu speichern (die ich später als Datentabelle in JMP öffnen kann).Ich habe mir kurz die Umwandlung von Text in Spalten angeschaut; Allerdings sind in jeder Zelle so viele Daten enthalten, dass dieser Ansatz nicht praktikabel erscheint.Es gibt etwa 45 Zeilen und 5 Spalten mit Kopfdaten. Dann bestehen die Daten aus Tausenden von Zeilen und 46 Spalten.Wir freuen uns über alle Ideen, wie man damit umgehen kann!Lou

Hallo
Das habe ich gemacht:
Importieren Sie den Text und ersetzen Sie das Trennzeichen, um ihn als Matrix zu analysieren (ich habe nur Zahlen, Sie müssen ihn möglicherweise so ändern, dass er eine Liste ist. Ersetzen Sie das „;“ durch ein Leerzeichen und den Zeilenendeeintrag (könnte auch \! sein). n oder \!cr) mit ",":
text_raw = column(dt,data_list[1])[1];
temp = Substitute( Substitute( text_raw, ";", " " ), "\!r", "," );// prepare for parsing
raw_data = Parse( Eval( "[" || temp || "]" ) ); // text to matrix
n_data = nitems(raw_data);
- Erstellen Sie eine neue Tabelle mit allen benötigten Zeilen
- Fügen Sie die Anzahl der Zeilen der Matrix/Liste mit addrows hinzu und füllen Sie den Inhalt. Möglicherweise nach Spalte der Liste mit einer zusätzlichen inneren Schleife
- Kopieren Sie Daten aus der Originaltabelle, z. B. die Test-ID, in alle Zeilen, damit Sie über alle Inhalte verfügen, die Sie benötigen.
Wiederholen Sie dies für jede Zeile aus der Originaltabelle.
Es kann etwas langsam sein, aber Sie können es beschleunigen, indem Sie im Voraus wissen, was Sie ausfüllen werden (es muss immer die gleiche Anzahl an Zeilen hinzugefügt werden).
Möglicherweise gibt es einen direkten Weg von einer Rohtextzeichenfolge zur Datentabelle, aber ich konnte ihn nicht finden.
Eine andere Möglichkeit wäre, den Inhalt der Zeile als Textdatei zu speichern und sie mit dem Befehl „open“ erneut zu importieren.
Dies ist möglicherweise einfacher zu programmieren, kann jedoch länger dauern.