안녕하세요,
아래 코드에서 JMP가 오류 예외로 인해 충돌합니다. 어떠한 제안? 감사.
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>귀하의 코드는 Windows 10, 64 비트, JMP 15.1.0에서 오류없이 작동했습니다. 그러나 코드는 필요한 것보다 많은 작업을 수행했습니다. Contains () 함수는 리터럴 문자열뿐만 아니라 목록에서도 작동합니다. Constraint () 함수가 목록에서 작동하는 방식을 활용하여 원하는 것을 얻도록 아래 코드를 수정했습니다.
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 )
);