Salut,
Pour mon code ci-dessous, JMP plante pour exception d'erreur. Toute suggestion? Merci.
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>Votre code a fonctionné sans erreur sur mon Windows 10, 64 bits, JMP 15.1.0. Cependant, votre code faisait beaucoup plus que nécessaire. La fonction Contains () fonctionne non seulement sur les chaînes littérales, mais également sur les listes. J'ai modifié votre code ci-dessous pour obtenir ce que vous voulez en profitant de la façon dont la fonction Constraint () fonctionne sur les listes.
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 )
);