複数の csv ファイルをループし、特定のファイル名に基づいて選択するにはどうすればよいでしょうか?これが私のコードです:
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 );
スクリーンショットのようなエラーが引き続き発生しますが、これはFiles In Directory()関数が非推奨になっているためでしょうか?
面白いことに、上記のコードは JMP16 では機能していましたが、昨日 JMP17 にアップグレードした後、以下のエラーが表示されます。

データアクセスRe: 複数の csv ファイルをループし、特定のファイル名に基づいて選択するにはどうすればよいでしょうか?ループしている同じリストを削除しているために、このエラーが発生している可能性が最も高いです。このタイプのフィルタリングでは、For ループの代わりに Filter Each を使用することをお勧めします。
また、 複数ファイルのインポートを試しましたか?
Re: 複数の csv ファイルをループし、特定のファイル名に基づいて選択するにはどうすればよいでしょうか?パスとmypathを確認してください
それ以外にも、 forループの代わりにFilter Each を使うこともできます。
//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" ) ) )Re: 複数の csv ファイルをループし、特定のファイル名に基づいて選択するにはどうすればよいでしょうか?次のステップとして、MultiFileImport でファイル リストを使用するオプションを使用して JMP18 にアップグレードすることもできます。
場合によっては、これによりデータのインポート速度が桁違いに速くなります。
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">マルチファイルインポート</FONT> needs the complicate <FONT face="courier new,courier">評価(評価Expr(...Expr() ...))</FONT>.<BR />This will get fixed in a future release of JMP.
Re: 複数の csv ファイルをループして、特定のファイル名に基づいて選択するにはどうすればよいでしょうか?Y という名前の列を持つデータ テーブルが開いていると思います。JSL はテーブルの列を使用しようとしていますが、これは望んでいることではありません。テーブルを閉じるか、テーブルまたはスクリプト内の名前を変更するか、スコープを使用して JMP に目的の列を指示してください。
この例では、Y が名前空間に含まれる前に JMP を新しく起動しています。

@Audrey_Shull - 変数の取得元のテーブルに名前を付けると、エラー ダイアログが 100% 改善されます。
Re: 複数の csv ファイルをループして、特定のファイル名に基づいて選択するにはどうすればよいでしょうか?Craige さん、ありがとうございます。はい、あなたの説明どおり、1 日前にバグを見つけて解決しました。
Re: 複数の csv ファイルをループして、特定のファイル名に基づいて選択するにはどうすればよいでしょうか?ありがとう、hog。フィルターの各機能も私にインスピレーションを与えてくれます。
Re: 複数の csv ファイルをループして、特定のファイル名に基づいて選択するにはどうすればよいでしょうか?やあ、jthi、ありがとう。
マルチファイルインポートは、現在の方法よりも高速で、ファイルを解析するのに適した方法であることに同意します。