Txt 파일에서 숫자 데이터를 포맷하는 문제친애하는 커뮤니티 여러분,
저는 ecnlosed 예제 파일에서와 같이 포맷된 데이터를 올바르게 가져오기 위한 jsl 스크립트를 빌드하려고 합니다. 저는 다음과 같은 과제에 직면해 있습니다.
- 소수점 기호는 "." 대신 ","입니다. 지역 환경 설정의 기본 설정을 사용하면 JMP는 ","를 천 단위 구분 기호로 해석합니다. JMP가 jsl 스크립트 내에서 이 숫자를 제대로 해석하도록 강제하는 방법은 무엇입니까?
- 음수는 다음과 같이 포맷됩니다: 64,000-. JMP에서 이런 포맷을 처리할 수 있나요?
한 가지 해결책은 txt 파일을 다시 포맷하는 것인데, 해당 파일은 ERP에서 추출한 것이고 IT 팀은 제가 그런 파일을 처리할 수 없는 반면 Excel은 처리할 수 있다는 사실을 이해하지 못합니다.
감사합니다.
제롬
자동화 및 스크립팅대량 맞춤형Re : Txt 파일의 숫자 데이터 형식 문제안녕하세요,
다음과 같은 것을 시도 할 수 있습니다. IT가 문제를 이해하지 못한다고 언급했지만 JSL을 사용하여 파일을 직접 다시 형식화 할 수 있습니다. 쉼표를 십진수로 처리하기위한 가져 오기 설정이있을 가능성이 있지만 직접 생각할 수 없으며 문서에서 찾을 수 없습니다. 아마도 다른 사람이 해당 설정으로 응답 할 것입니다. 그때까지 이것이 트릭인지 확인하십시오. 샘플 파일을 첨부했습니다. 다운로드 폴더에 넣으면 스크립트가 수정없이 실행되기를 바랍니다.
</CODE></P>
<PRE><CODE class=" language-jsl">Names Default To Here( 1 );
//set these to reflect your path and file name
path = "$DOWNLOADS/";
origFile = "example.txt";
holdFile = "example_modified.txt";
//get text of original file and replace commas with decimals
txt = Substitute( Load Text File( path || origFile ), ",", "." );
//save resulting text to a file, open this file as a table, then delete the file
Save Text File( path || holdFile, txt );
dt = Open( path || holdFile );
Delete File( path || holdFile );
//create a new column. if the last character is not "-", the string is immediately converted to a number. If the last
//character IS a "-", the string is converted to a number after the "-" is moved to the first character of the string
dt << New Column( "xx", formula( Num( If( Right( :INFO, 1 ) != "-", :INFO, "-" || Left( :INFO, Length( :INFO ) - 1 ) ) ) ) );
//remove the formula, so we can delete the original INFO column and rename our new column to INFO
dt:xx << Delete Formula;
dt << Delete Columns( "INFO" );
dt:xx << set name( "INFO" );
건배,
브래디