JSL에서 열기()를 사용하여 텍스트 파일을 가져올 때 머리글과 바닥글을 제외하는 방법은 무엇입니까?데이터 시작 부분에 여러 머리글 행이 있고 데이터 끝 부분에 바닥글이 있는 데이터가 있습니다.
머리글과 바닥글 텍스트는 모두 식별자로 시작합니다. ! .
(머리글, 바닥글 및 데이터 사이의 행 수는 다름)
임의 데이터의 예(.txt 파일로 사용 가능)
! 헤더 첫 번째 줄
! 헤더 두 번째 줄
매개변수 LSL USL 단위
전압 0.1 0.5 V
커패시턴스 0.3 0.7pF
저항 0.5 9옴
! 바닥글 두 번째 줄
! 바닥글 세 번째 줄
! 바닥글 세 번째 줄
텍스트 형식으로 데이터를 가져오는 동안 머리글 및 바닥글 데이터를 제외할 수 있도록 열기()를 사용할 수 있습니까?
open()을 사용하여 머리글과 바닥글 텍스트를 유지하는 데이터를 가져올 수 있습니다(예: 테이블 dt ).
나는 또한 추출하는 방법을 알고 싶습니다 (새 테이블로 dt_new ) 식별자로 시작하는 머리글과 바닥글을 제외한 데이터, 예를 들어 !.
마지막으로 머리글과 바닥글 데이터를 저장하고 싶습니다. dt 별도의 테이블에서 dt_hf. 이 작업을 수행하는 방법?
감사 해요.
데이터 테이블스크립팅Re: JSL에서 open()을 사용하여 텍스트 파일을 가져올 때 머리글과 바닥글을 제외하는 방법은 무엇입니까?일방 통행:
filename = Save Text File(
"$temp/deleteme.txt",
"\[! header first line
! header second line
Parameter LSL USL Units
voltage 0.1 0.5 V
Capacitance 0.3 0.7 pF
Resistance 0.5 9 Ohms
! Footer second line
! Footer third line
! Footer third line]\"
);
lines = Words( Load Text File( filename ), "\!n\!r" );
metadata = {};
data = {};
For( i = 1, i <= N Items( lines ), i += 1,
line = lines[i];
If( Starts With( line, "!" ),
Insert Into( metadata, line ),
Insert Into( data, line )
);
);
datafilename = Save Text File( "$temp\data.txt", Concat Items( data, "\!n" ) );
metafilename = Save Text File( "$temp\metadata.txt", Concat Items( metadata, "\!n" ) );
dtData = Open( datafilename, Import Settings( End Of Field( Tab, Spaces, Space ) ) );
dtMetadata = Open( metafilename, Import Settings( Labels( 0 ) ) );
데이터와 분리된 메타 데이터
Re: JSL에서 open()을 사용하여 텍스트 파일을 가져올 때 머리글과 바닥글을 제외하는 방법은 무엇입니까?감사 해요 @Craige_Hales .
내 데이터가 텍스트 파일이 아닌 데이터 테이블에 있는 경우 어떤 변경이 필요합니까?
(나는 텍스트 파일을 로드하고 그것을 say dt ).
이제 머리글과 바닥글을 분리해야 합니다. dt.
또한 머리글과 바닥글 항목 사이의 빈 줄을 처리하는 방법(예: 바닥글 두 번째 줄 그리고 바닥글 세 번째 줄 에 포함하지 마십시오. 데이터 ?
Re: JSL에서 open()을 사용하여 텍스트 파일을 가져올 때 머리글과 바닥글을 제외하는 방법은 무엇입니까?이것이 데이터 테이블의 모양입니까?그렇지 않은 경우 샘플 데이터 테이블을 제공할 수 있습니까?

Re: JSL에서 open()을 사용하여 텍스트 파일을 가져올 때 머리글과 바닥글을 제외하는 방법은 무엇입니까?@txnelson . 아래는 어떻게 생겼는지입니다. 나는 다음을 하고 싶다
1. 머리글과 바닥글 텍스트를 하나의 목록으로 분리합니다.
2. 데이터 테이블에 빈 줄을 제외한 머리글과 바닥글 사이의 데이터를 분리합니다.
3. 데이터 테이블의 빈 항목 수를 계산합니다(로드된 텍스트 파일에 따라 변경됨).

감사 해요.
Re: JSL에서 open()을 사용하여 텍스트 파일을 가져올 때 머리글과 바닥글을 제외하는 방법은 무엇입니까?다음은 귀하가 필요하다고 생각하는 간단한 예입니다.
Names Default To Here( 1 );
dt = Current Data Table();
headFootList = {};
col1Name = Column( 1 ) << get name;
Eval(
Parse(
Eval Insert(
"For Each Row( If( Contains( :^col1Name^, \!"!\!" ) == 1, Insert Into( headFootList, :^col1Name^ ) ) )"
)
)
);
Eval(
Parse(
Eval Insert(
"emptyCount = N Rows( dt << get rows where( :^col1Name^ == \!"\!" ) )"
)
)
);
Eval(
Parse(
Eval Insert(
"dt << select where( contains(:^col1Name^,\!"!\!")==1 | :^col1Name^ == \!"\!")"
)
)
);
Try( dt << delete rows );
dtHeadFoot = New Table( "Headers and Footers",
New Column( "Headers and Footers", character, set values( headFootList ) )
);
New Window( "Count of Empty Rows",
<<MODAL></MODAL>