Debuggen Sie eine JSL für Dat-Datei, öffnen und ändern Sie sie und speichern Sie sie dann, um sie zu schließenJeder kann helfen, das jsl unten zu reparieren,
Das Ziel ist es, alle dat-Dateien im selben Verzeichnis zu öffnen und 2 Zeilen zu löschen und dann zu speichern.
Vielen Dank
directory = Pick Directory();
fileNames = Files In Directory( directory );
For( iFile = 1, iFile <= N Items( fileNames ), iFile++,
filename = fileNames[iFile];
If( Ends With( filename, ".dat" ),
dt = Open( directory || filename );
//delete first 2 rows
dt << Select Where( Row() < 3 );
dt << delete rows;
Close( dt, "save" );
);
);
SkripterstellungBetreff: Debuggen Sie eine JSL für Dat-Datei, öffnen und ändern Sie sie und speichern Sie sie dann, um sie zu schließenIch habe den Fehler behoben, indem ich unten eine Änderung vorgenommen habe.
If( Right( y[i], 3 ) == "dat", ...............
Danke vielmals
Betreff: Debuggen Sie eine JSL für Dat-Datei, öffnen und ändern Sie sie und speichern Sie sie dann, um sie zu schließenDanke Jim, Morgon.
Ich habe die Schritt-für-Schritt-Methode verwendet, um die Schleife zu überprüfen, und es stellt sich heraus, dass das Problem auftritt, wenn die .dat-Datei geöffnet wird.
Es gibt keine Antwort nach dem Öffnen von .dat.
Ich ändere es, um .txt zu öffnen, und es funktioniert gut.
Hast du eine Idee, warum das passiert und wie man es beheben kann?
Vielen Dank
Betreff: Debuggen Sie eine JSL für Dat-Datei, öffnen und ändern Sie sie und speichern Sie sie dann, um sie zu schließen@Stokes ,
Jim hat Ihnen einige großartige Debug-Vorschläge gegeben. Unten sind ein paar Anmerkungen/potenzielle Probleme. Wie Jim vorgeschlagen hat, wären die Fehler im LOG oder eine Beschreibung Ihrer Aufgabe und was passiert, wenn Sie das Skript ausführen, informativ.
- Anstelle von select where() und delete können Sie dt << delete rows(1::2);
- Ich benutze oft wait( 0 ); nach dem Speichern, um seinen Abschluss zu erzwingen, bevor Sie fortfahren.
- Ihr Skript sucht nach Dateien mit .DAT Erweiterung, die ein generischer Dateityp ist. Sie lesen es in die JMP-Datentabelle ein und schreiben dann a SPAREN .Dies hat mehrere potenzielle Probleme, unbeabsichtigte Folgen:
- Der Dateityp benötigt möglicherweise weitere Details, um richtig gelesen zu werden, sodass das Öffnen möglicherweise einen Fehler verursacht.
- Angenommen, die Datei wird ordnungsgemäß in eine JMP-Datentabelle eingelesen, a SPAREN speichert die Datei als .JMP-Datei. Ist das Ihre Absicht? oder möchten Sie es als speichern .DAT Datei?Wenn Benutzer diese Art von Fragen stellen, möchten sie häufig JMP verwenden, um eine Datendatei zu bereinigen, die von einem automatisierten Messtool geschrieben wurde und Header-Informationen in einem anderen Format enthält. Diese Header-Informationen können Open()-Fehler und andere Probleme verursachen. Die Kenntnis der Aufgabe wird der JMP-Community also helfen, eine Lösung bereitzustellen. Je nach Aufgabenstellung a Textdatei laden() oder Offen() mit Importtextoptionen erforderlich.
- Wenn die Antwort auf die Verzeichnis auswählen() prompt ein Verzeichnis ist, das lesbar, aber nicht beschreibbar ist, könnte dies zu einem Fehler führen oder die Datei in einem unbeabsichtigten Verzeichnis speichern. Wenn ich beispielsweise Ihr Skript so ändere, dass es .TXT-Dateien liest, und das Verzeichnis für JMP Samples/Import Data auswähle, liest das Programm die .txt-Dateien, speichert sie aber als .JMP-Dateien, aber nicht im Verzeichnis JMP Samples/Import Data, weil es ist nicht beschreibbar.
Diese Elemente sollen helfen, die Art der Details zu klären, die benötigt werden, um Ihnen zu helfen.
Betreff: Debuggen Sie eine JSL für Dat-Datei, öffnen und ändern Sie sie und speichern Sie sie dann, um sie zu schließenBekommst du irgendwelche Fehler im Log?Wenn ja, welche sind das?
Ich vermute, dass Select Where zu früh ausgeführt wird, weil die Datei geöffnet wird, was JMP im Hintergrund tun wird.Versuchen Sie, die Linie zu setzen
dt << rerun formulas;
nach dem open() und sehen, ob das funktioniert.
Was ich normalerweise mit Code wie diesem mache, ist, die Zeilen 1 und 2 auszuführen. Suchen Sie die erste Datei, die auf .dat endet, und setzen Sie Ihren "Dateinamen" auf seinen Wert, und führen Sie dann nacheinander die Zeilen Öffnen, Auswählen, Löschen und Schließen aus, um zu sehen, was passiert.