텍스트 파일을 한 줄씩 어떻게 읽습니까?아래 코드를 사용하여 JSL 스크립트에서 한 줄씩 읽을 수 있습니다(실제로 JMP는 각 줄을 목록 항목으로 포함하는 목록을 만듭니다).
myFile= open("$PATH\testScript.jsl");
myCfLines = myFile[scriptBox(1)] << getLines();
그러나 확장자가 '*.txt'인 텍스트 파일로 이 작업을 수행하려고 하면 JMP가 자동으로 이 파일을 데이터 테이블로 열므로 이 방법을 사용하여 줄을 가져올 수 없습니다(스크립트 상자가 아니기 때문입니다!).
다른 방법이 있습니까? 전체 파일을 문자열로 긁어내므로 loadTextFile() 함수를 사용하고 싶지 않습니다. 이상적으로는 파일을 열고 한 번에 한 줄씩 읽고 정규 표현식을 수행하여 필요한 데이터를 추출하고 싶습니다!
Re: 텍스트 파일을 한 줄씩 어떻게 읽나요?JMP는 텍스트 파일을 스트리밍하지 않습니다. 솔루션을 사용하여 전체 파일을 로드한 다음 줄을 구분해야 합니다. 목록의 항목(개별 줄)을 반복하여 기준을 충족하는지 확인할 수 있습니다.
또는 텍스트 파일을 Excel 통합 문서로 가져온 다음 파일 > 데이터베이스 > 테이블 열기 또는 파일 > 데이터베이스 > 쿼리 작성기를 사용하여 WHERE 절을 정의하여 추출하려는 행을 선택할 수 있습니다.
Re: 텍스트 파일을 한 줄씩 어떻게 읽나요?거대한 텍스트 파일이 있지만 몇 줄만 읽고 로드하고 싶습니다. 기본적으로 A_ 또는 B_ 또는 C_ 또는 D_로 시작하는 모든 줄을 로드하고 싶습니다. if 조건이 작동할 수 있습니까?
Re: 텍스트 파일을 한 줄씩 어떻게 읽나요?loadTextFile 함수에 대한 나의 초기 과묵함에도 불구하고 이것에 대해 Jeff에게 보상을 주어야 합니다. 세 가지 방법 모두 작동하므로 테스터 중 한 명이 제공한 250M, 5M 라인 텍스트 파일을 사용하여 빠른 시간 비교를 수행했습니다. 부수적으로 제 사용 사례는 이 거대한 로그 파일을 한 줄씩 살펴보고 정규 표현식 테이블을 기반으로 일부 결과를 필터링해야 한다는 것입니다.
나는 loadTextFile을 피하고 싶다고 말했기 때문에 이것이 공평하지 않다고 생각합니다;)
***이안 ***
myNumSeconds = 66;
N 항목(myCfLines) = 5059756;
***제프 ***
myNumSeconds = 7;
N 항목(myLines) = 5059755;
*** 크레이지 ***
myNumSeconds = 67;
N 항목(myCfLines) = 5059756;
Re: 텍스트 파일을 한 줄씩 어떻게 읽나요?이 작업을 수행하기 위해 열 수 있는 "스크립트" 옵션이 있습니다.
open("$sample_data/../데이터 가져오기/bigclass.txt","스크립트")
이제 "텍스트"(.txt 확장자가 기본값인)로 열고 데이터 테이블을 만드는 대신 스크립트 창으로 열립니다. 예, "텍스트" 옵션의 이름이 이상하게 지정되었지만 CSV 텍스트를 나타냅니다.
Re: 텍스트 파일을 한 줄씩 어떻게 읽나요?JSL에는 현재 파일을 열고 한 번에 한 줄씩 읽는 도구가 없습니다.
그러나 사용하는 경우 텍스트 파일 로드() 그런 다음 단어() 개별 줄을 목록으로 가져오는 기능.
bctxt=load text file ("$SAMPLE_IMPORT_DATA\Bigclass.txt");
lines=words(bctxt,"\!n");
Re: 텍스트 파일을 한 줄씩 어떻게 읽나요?보시다시피 JMP는 파일 확장자를 사용하여 적절한 작업을 시도합니다.
사용 사례를 완전히 이해하지는 못했지만 '.jsl' 확장자가 원하는 동작을 제공하는 경우 'RenameFile()' 사용을 고려할 수 있습니다.
renameFile("$DESKTOP/Test.txt", "Test.jsl");
myFile = open("$DESKTOP/Test.jsl");
myCfLines = myFile[scriptBox(1)] << getLines();
renameFile("$DESKTOP/Test.jsl", "Test.txt");