Ich versuche, einen Ordner zu öffnen, die Dateien zu scannen und dann verschiedene Funktionen mit verschiedenen Dateien auszuführen. Ich habe dies bisher getan, aber es sieht so aus, als würde die Datei in eine Endlosschleife übergehen, wenn sie erst einmal die Funktion aufgerufen hat. Der Teil der Funktion, der in die Endlosschleife geht, funktioniert gut, wenn er nur ohne den Aufwand des Auswählens eines Verzeichnisses und Öffnens einer Datei verwendet wird. Kann jemand bitte darauf hinweisen, was die Endlosschleife verursachen könnte, wenn es nur von selbst funktioniert.
myfunc = function({dt,mypath},{Dedault Local},
col_list = dt << get column names( string );
new_list = {};
For( i = N Items( col_list ), i > 0, i--, //For loop to create an array of the different column strings
If( Regex( col_list[i], "<SOME regex="">") == col_list[i],
Insert Into( new_list, col_list[i] ), //Insert Into(new_list,col_list[i]),
Remove From( col_list, i ); //If the string is not what we are looking for remove it from the array
)
);
Return(new_list);
);
mypath = Pick Directory ( "Select a directory." );
files = Files In Directory(mypath);
MY_FILES = files;
FOR(i=1, i <= N items(files), i++,
if(Ends with(files[i],"_myfile.csv"),
dt = Open(mypath || files[i]);
dname = dt << Get Name;
If(
Contains( dname, "_myfile" ) > 0, myfunc(dt,mypath),
"File is wrong"
); ,
));
</SOME>