Hola,
Para mi código a continuación, JMP se bloquea por excepción de error. ¿Cualquier sugerencia? Gracias.
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>Su código funcionó sin error en mi Windows 10, 64 bits, JMP 15.1.0. Sin embargo, su código estaba haciendo mucho más de lo que tenía que hacer. La función Contains () no solo funciona en cadenas literales, sino que también funciona en Listas. Modifiqué su código a continuación para obtener lo que desea al aprovechar la forma en que funciona la función Restricción () en las listas.
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 )
);