Come posso scorrere più file csv e selezionarli in base a un nome file specifico?Ecco il mio codice:
path = "/users/BOT/Test_files/";
Set File Search Path( mypath );
// filter out all csv files in the path that contains "Pass" && Not contains "Conditional_Pass" or "Fail" in file name
y = Files In Directory( mypath );
For( i = N Items( y ), i > 0, i--,
If( (Ends With( y[i], ".csv" ) & Contains( y[i], "Pass" ) & Not( Contains( y[i], "Conditional_Pass" ) ) & Not( Contains( y[i], "Fail" ) )),
,
Remove From( y, i )
)
);
n = N Items( y );
Continuo a ricevere l'errore seguente come screenshot: è perché la funzione Files In Directory() è deprecata?
La cosa divertente è che i codici sopra riportati funzionavano per JMP16, mentre l'errore seguente è comparso dopo che ieri ho eseguito l'aggiornamento a JMP17.

Accesso ai datiR: Come posso scorrere più file csv e selezionarli in base a un nome file specifico?Probabilmente stai ricevendo quell'errore perché stai rimuovendo la stessa lista su cui stai eseguendo il loop. Per questo tipo di filtraggio, suggerirei di usare Filter Each invece di For loop.
Inoltre, hai provato a utilizzare l'importazione di più file ?
R: Come posso scorrere più file csv e selezionarli in base a un nome file specifico?si prega di controllare path vs. mypath
oltre a questo potresti usare Filter Each invece del ciclo for :
//path = "/users/BOT/Test_files/";
mypath = "/users/BOT/Test_files/";
y = Files In Directory( mypath );
y = filter each({fn}, y, Ends With( fn, ".csv" ) & Contains( fn, "Pass" ) & Not( Contains( fn, "Conditional_Pass" ) ) & Not( Contains( fn, "Fail" ) ) )R: Come posso scorrere più file csv e selezionarli in base a un nome file specifico?Potresti anche fare il passo successivo ed eseguire l'aggiornamento a JMP18, con l'opzione di utilizzare un elenco file in MultiFileImport.
In alcuni casi, questo velocizzerà l'importazione dei dati di ordini di grandezza!
y= Transform each ({fn}, y, mypath || fn);
Eval(Eval Expr (Multiple File Import(
<<SET use="" file="" list=""></SET><BR />At the moment, Filelist + <FONT face="courier new,courier">Importazione MultiFile</FONT> needs the complicate <FONT face="courier new,courier">Eval(Eval Espr(... Espr() ...))</FONT>.<BR />This will get fixed in a future release of JMP.
R: Come posso scorrere più file csv e selezionarli in base a un nome file specifico?Penso che tu abbia una tabella dati aperta con una colonna denominata Y. JSL sta tentando di usare la colonna della tabella, che non è ciò che vuoi. Chiudi la tabella, o cambia il nome nella tabella o nello script, o usa l'ambito per dire a JMP cosa intendi.
In questo esempio JMP viene avviato da zero prima che Y sia presente in qualsiasi namespace.

@Audrey_Shull - La finestra di dialogo di errore sarebbe migliorata del 100% se specificasse il nome della tabella da cui proviene la variabile.
R: Come posso scorrere più file csv e selezionarli in base a un nome file specifico?Grazie Craige, sì, ho trovato il mio bug un giorno fa e l'ho risolto, proprio come hai descritto.
R: Come posso scorrere più file csv e selezionarli in base a un nome file specifico?Grazie hog, anche il filtro di ogni funzione mi dà un po' di ispirazione.
R: Come posso scorrere più file csv e selezionarli in base a un nome file specifico?Ciao jthi, grazie.
Sono d'accordo, l'importazione multi-file è un buon modo per analizzare i file, più veloce del mio metodo attuale.