Eseguire il debug di un file JSL per Dat aprire e modificare quindi salvare per chiudereChiunque può aiutare a correggere il jsl qui sotto,
L'obiettivo è aprire tutti i file dat nella stessa directory ed eliminare 2 righe, quindi salvarlo.
Grazie
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" );
);
);
ScriptingRe: Eseguire il debug di un file JSL per Dat aprire e modificare quindi salvare per chiudereHo risolto il bug apportando modifiche di seguito,
If( Right( y[i], 3 ) == "dat", ...............
Molte grazie
Re: Eseguire il debug di un file JSL per Dat aprire e modificare quindi salvare per chiudereGrazie Jim, Morgon.
Ho usato il metodo passo passo per controllare il ciclo e risulta che il problema si verifica quando si apre il file .dat.
Non c'è risposta dopo l'esecuzione di open .dat.
Lo cambio per aprire .txt e funziona bene.
Hai idea del perché questo accada e come risolverlo?
Grazie
Re: Eseguire il debug di un file JSL per Dat aprire e modificare quindi salvare per chiudere@Stokes ,
Jim ti ha dato degli ottimi suggerimenti per il debug. Di seguito sono riportate un paio di note/potenziali problemi. Come suggerito da Jim, gli errori nel LOG o una descrizione della tua attività e cosa succede quando esegui lo script sarebbero informativi.
- Invece di select where() e delete, puoi usare dt << delete rows(1::2);
- Uso spesso wait( 0 ); dopo il salvataggio, per forzarne il completamento prima di continuare.
- Il tuo script sta cercando file con .DAT estensione, che è un tipo di file generico. Lo stai leggendo nella tabella dati JMP e poi script a SALVA .Ciò ha diversi potenziali problemi, conseguenze indesiderate:
- Il tipo di file potrebbe richiedere più dettagli per essere letto correttamente, quindi l'apertura potrebbe causare un errore.
- Supponendo che il file venga letto correttamente in una tabella dati JMP, a SALVA salverà il file come file .JMP. È questa la tua intenzione? o vuoi salvarlo come file .DAT file?Spesso, quando gli utenti pongono questo tipo di domande, desiderano utilizzare JMP per ripulire un file di dati scritto da uno strumento di metrologia automatizzato che contiene informazioni di intestazione in un formato diverso. Quelle informazioni di intestazione possono causare errori Open() e altri problemi. Pertanto, conoscere l'attività aiuterà la community di JMP a fornire una soluzione. A seconda del compito, a Carica file di testo() o Aprire() con le opzioni di importazione del testo potrebbero essere necessarie.
- Se la risposta al Seleziona directory() prompt è una directory leggibile ma non scrivibile, ciò potrebbe causare un errore o il salvataggio del file in una directory non prevista. Ad esempio, se modifico il tuo script per leggere i file .TXT e scelgo la directory per JMP Samples/Import Data, il programma leggerà i file .txt ma li salverà come file .JMP, ma non nella directory JMP Samples/Import Data perché non è scrivibile.
Questi elementi hanno lo scopo di aiutare a chiarire il tipo di dettagli necessari per aiutarti.
Re: Eseguire il debug di un file JSL per Dat aprire e modificare quindi salvare per chiudereRicevi errori nel log?Se sì, quali sono?
Sospetto che Seleziona dove sia in esecuzione troppo presto, perché il file si sta aprendo, cosa che JMP farà in background.Prova a mettere la linea
dt << rerun formulas;
dopo open() e vedi se funziona.
Quello che di solito faccio con codice come questo è eseguire le righe 1 e 2. Trova il primo file che termina con .dat e imposta il tuo "nome file" sul suo valore, quindi esegui uno alla volta, apri, seleziona dove, elimina e chiudi le righe per vedere cosa succede.