Hallo,
Für meinen Code unten stürzt JMP wegen einer Fehlerausnahme ab. Irgendein Vorschlag? Vielen Dank.
csv_file = "C:/test4.csv";
CSV_data = Open( csv_file );
delList = {};
delColumns = {"Country", "Percent_Name_Count", "Name", "ID"};
nColumns = N Items( delColumns );
For( k = 1, k <= nColumns, k++,
For( i = 1, i<= N Cols(CSV_data), i++,
If( Contains( Uppercase( as Column( i ) << get name ), Uppercase(Char(delColumns[k])) ) > 0,
insert into(delList, column(i)<<GET name=""> 0, CSV_data << delete columns( delList ));
test4.csv
ID,Name,Country,Column1_Value,Column2_Value_More,Percent_Name_Count
125480,Jack,CA,0.7,0.7,0.7
125481,Jane,US,0.69,0.69,0.69
125482,Joe,BZ,0.71,0.71,0.71
125483,Jim,FR,0.73,0.73,0.73
125484,Jerry,US,0.72,0.72,0.72
125485,John,CA,0.71,0.71,0.71</GET>Ihr Code funktionierte unter Windows 10, 64 Bit, JMP 15.1.0 fehlerfrei. Ihr Code hat jedoch viel mehr getan, als er musste. Die Funktion Contains () funktioniert nicht nur mit Literalzeichenfolgen, sondern auch mit Listen. Ich habe Ihren Code unten geändert, um das zu erhalten, was Sie möchten, indem ich die Funktionsweise der Constraint () - Funktion für Listen genutzt habe.
csv_file = "C:/test4.csv";
CSV_data = Open( csv_file );
delList = {};
delColumns = {"Country", "Percent_Name_Count", "Name", "ID"};
nColumns = N Items( delColumns );
For( k = 1, k <= nColumns, k++,
delColumns[k] = Uppercase( delColumns[k] )
);
For( i = 1, i <= N Cols( CSV_data ), i++,
If( Contains( delColumns, Uppercase( Column( i ) << get name )) > 0,
Insert Into( delList, Column( i ) << get name )
)
);
ndelList = N Items( delList );
If( ndelList > 0,
CSV_data << delete columns( delList )
);