텍스트 파일 열기 설정을 스크립트에 저장하는 방법안녕하세요,
문제:
많은 .txt 파일이 있습니다. 나는 7 행부터 무한대까지 4 열의 데이터에만 관심이있다. 수많은 .txt 파일에서 열 4의 모든 데이터를 추출하여 단일 테이블로 연결하고 싶습니다. 이를 수행하는 가장 좋은 방법은 무엇입니까? 이상적으로는 이것을 실행하는 스크립트를 만들고 싶습니다.
같은 맥락에서 File-open 메서드를 사용하여 데이터 (미리보기 사용)로 .txt 파일을 열면 열 4 데이터의 형식을 올바르게 지정할 수 있지만 이러한 '열기'를 찾거나 저장하는 방법을 알 수 없습니다 '설정. 동일한 설정으로 다른 .txt 파일을 열 수 있도록 스크립트에 저장하고 싶습니다.
어떻게해야합니까?
참조를 위해 샘플 .txt 파일 중 하나를 첨부했습니다.
도와 주셔서 감사합니다!
데이터 테이블스크립팅Re : 텍스트 파일 열기 설정을 스크립트에 저장하는 방법취할 경로는 여러 파일 가져 오기를 사용하는 것입니다.
파일 => 여러 파일 가져 오기
폴더의 모든 파일을 읽고 원하는 경우 연결합니다.그러면 원하지 않는 열을 삭제하기 만하면됩니다.
또한 전체 폴더를 실행하거나 테스트 케이스에 대해 몇 개의 파일을 실행 한 후 데이터 테이블의 왼쪽 상단 패널에있는 소스 항목으로 이동하여 마우스 오른쪽 버튼으로 클릭하고 편집을 선택하면 모든 JSL이 표시됩니다. 스크립트에서 실행하는 데 필요합니다.
Re : 텍스트 파일 열기 설정을 스크립트에 저장하는 방법죄송합니다. 목표를 명확하게 설명하지 않았습니다. 제안은 내게 필요한 것을 제공하지 않습니다. 또한 concatenate 명령이 아닌 join 명령을 사용해야한다는 것을 깨달았습니다.
39 개의 .txt 파일이 있습니다. 각 .txt 파일의 4 번째 열에있는 데이터 만 원합니다. 해당 데이터를 추출하여 새 테이블에 추가하여 39 개의 개별 열 (39 개의 모든 .txt 파일의 4 번째 열마다 하나씩)을 갖도록하고 싶습니다.
Re: 텍스트 파일 열기 설정을 스크립트에 저장하는 방법예를 들어 예제 파일의 복사본을 4개 만들어 내 토론 그룹 폴더 아래의 폴더에 넣었습니다.
Documents\Discussion Group\textfile
나는 그 다음 갔다
파일=>여러 파일 가져오기

"파일 이름 열 추가" 확인란을 선택했습니다.
그런 다음 "설정"을 클릭했습니다.

"헤더 있음"을 선택 취소했습니다.
"첫 번째 데이터 라인"을 7로 변경했습니다.
필드 끝 상자의 선택을 취소하고 "쉼표"를 선택하고 "공백"을 선택했습니다.
확인을 클릭했습니다
가져오기를 클릭했습니다.
Col1-Col6 열과 FileName 열로 열린 데이터 테이블

필요한 열은 Col5 열과 파일 이름 열뿐이므로 다른 열은 모두 삭제하십시오.

이제 4개의 입력 파일에서 데이터를 열로 분리하기만 하면 됩니다.
이동
테이블=>분할

"분할 기준" 열로 파일 이름 선택
열 5를 "열 분할" 열로 선택합니다.
확인을 클릭하십시오
새 테이블에는 각 입력 파일에 대해 하나의 열이 있습니다.

이것은 필요한 테이블의 최종 형식이어야 합니다.열 이름을 원하는 대로 변경할 수 있습니다.
Re: 텍스트 파일 열기 설정을 스크립트에 저장하는 방법여러 파일 열기를 보여주신 Jim에게 감사드립니다. 그것은 매우 강력한 것 같습니다. 이상하게도 나는 그것을 사용한 적이 없습니다. 아마도 이와 같은 스크립팅 작업의 오래된 습관 때문일 것입니다.
모든 파일에 정확히 같은 수의 행이 있는 경우 아래 스크립트는 동일한 최종 테이블을 제공해야 합니다.
Names Default To Here( 1 );
path = "path to directory of text files";
files = Files In Directory( path );
open_expr = Expr(
dt = Open(
path || Expr( files[i] ),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Spaces, CSV( 0 ) ),
Data Starts( 7 ),
Lines To Read( "All" )
),
private
)
);
M = []; //Matrix to hold data from multiple files
L = {}; // List of imported file names
For( i = 1, i <= N Items( files ), i++,
If( Ends With( files[i], ".txt" ),
Eval( Eval Expr( open_expr ) );
Insert Into( L, files[i] );
M ||= dt[0, 5]; // Add column 4 (5 becaue of fronting spaces in files)
Close( dt, no save );
)
);
// Make into table
dt = As Table( M, <<COLUMN names=""></COLUMN>