Wie kann ich mehrere CSV-Dateien durchlaufen und sie basierend auf einem bestimmten Dateinamen auswählen?Hier ist mein Code:
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 );
Erhalten Sie weiterhin den unten im Screenshot dargestellten Fehler. Liegt das daran, dass die Funktion „Files In Directory()“ veraltet ist?
Lustigerweise funktionierten die obigen Codes für JMP16, der folgende Fehler tritt jedoch auf, nachdem ich gestern auf JMP17 aktualisiert habe.

DatenzugriffBetreff: Wie kann ich mehrere CSV-Dateien durchlaufen und sie basierend auf einem bestimmten Dateinamen auswählen?Sie erhalten diesen Fehler höchstwahrscheinlich, wenn Sie dieselbe Liste entfernen, die Sie durchlaufen. Für diese Art der Filterung würde ich vorschlagen, Filter Each anstelle einer For-Schleife zu verwenden.
Haben Sie auch versucht, den Import mehrerer Dateien zu verwenden?
Betreff: Wie kann ich mehrere CSV-Dateien durchlaufen und sie basierend auf einem bestimmten Dateinamen auswählen?bitte überprüfen Sie Pfad vs. MeinPfad
außerdem könnten Sie Filter Each anstelle der For -Schleife verwenden:
//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" ) ) )Betreff: Wie kann ich mehrere CSV-Dateien durchlaufen und sie basierend auf einem bestimmten Dateinamen auswählen?Sie könnten auch den nächsten Schritt gehen und auf JMP18 aktualisieren – mit der Option, eine Dateiliste in MultiFileImport zu verwenden.
In einigen Fällen wird dadurch der Datenimport um ein Vielfaches beschleunigt!
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">Mehrfachdateiimport</FONT> needs the complicate <FONT face="courier new,courier">Eval(Eval Ausdruck(... Ausdruck() ...))</FONT>.<BR />This will get fixed in a future release of JMP.
Betreff: Wie kann ich mehrere CSV-Dateien durchlaufen und sie basierend auf einem bestimmten Dateinamen auswählen?Ich glaube, Sie haben eine Datentabelle mit einer Spalte namens „Y“ geöffnet. JSL versucht, die Spalte der Tabelle zu verwenden, was Sie nicht möchten. Schließen Sie entweder die Tabelle, ändern Sie den Namen in der Tabelle oder im Skript oder teilen Sie JMP mithilfe des Bereichs mit, was Sie meinen.
Dieses Beispiel startet JMP neu, bevor Y in einem Namespace ist.

@Audrey_Shull – Dieser Fehlerdialog wäre um 100 % verbessert, wenn er die Tabelle benennen würde, aus der die Variable stammt.
Betreff: Wie kann ich mehrere CSV-Dateien durchlaufen und sie basierend auf einem bestimmten Dateinamen auswählen?Danke, Craige, ja, ich habe meinen Fehler vor einem Tag gefunden und ihn genau wie in deiner Beschreibung gelöst.
Betreff: Wie kann ich mehrere CSV-Dateien durchlaufen und sie basierend auf einem bestimmten Dateinamen auswählen?Danke, Hog, die Filter-Jeder-Funktion gibt mir auch etwas Inspiration.
Betreff: Wie kann ich mehrere CSV-Dateien durchlaufen und sie basierend auf einem bestimmten Dateinamen auswählen?Hey jthi, danke.
Stimme zu, dass der Multi-File-Import eine gute Möglichkeit ist, die Dateien schneller zu analysieren als meine aktuelle Methode.