JSLでopen()を使用してテキストファイルをインポートするときにヘッダーとフッターを除外するにはどうすればよいですか?データの先頭に複数のヘッダー行があり、データの末尾にフッターがあるデータがあります。
ヘッダーとフッターのテキストは両方とも識別子で始まります! 。
(ヘッダー、フッター、およびその間のデータの行数は異なります)
任意のデータを使用した例 (.txt ファイルとして利用可能)
!ヘッダーの最初の行
!ヘッダーの2行目
パラメータ LSL USL 単位
電圧 0.1 0.5 V
静電容量 0.3~0.7pF
抵抗 0.5 9 オーム
! フッターの2行目
! フッターの3行目
! フッターの3行目
open() を使用して、データをテキスト形式でインポートするときにヘッダーとフッターのデータを除外できますか?
open() を使用して、ヘッダーとフッターのテキストを保持したデータをインポートできます(たとえば、テーブルにdt )。
(新しいテーブルに抽出する方法も知りたい) dt_new ) 識別子で始まるヘッダーとフッターを除いたデータ、たとえば!。
最後に、ヘッダーとフッターのデータを保存したいと思います。 dt別のテーブルで、たとえばdt_hf。 これを行う方法?
ありがとう。
データアクセス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>Re: JSL で open() を使用してテキスト ファイルをインポートするときにヘッダーとフッターを除外するにはどうすればよいですか?@txnelson 。 以下はその様子です。 次のことをしたいのですが
1. ヘッダーとフッターのテキストを 1 つのリストに分離します。
2. 空行を除くヘッダーとフッターの間のデータをデータテーブルに分割します。
3. データテーブル内の空のエントリの数を数えます(ロードされるテキストファイルによって異なります)。

ありがとう。
Re: JSL で open() を使用してテキスト ファイルをインポートするときにヘッダーとフッターを除外するにはどうすればよいですか?データテーブルはこんな感じでしょうか?そうでない場合、サンプル データ テーブルを提供していただけますか?

Re: JSL で open() を使用してテキスト ファイルをインポートするときにヘッダーとフッターを除外するにはどうすればよいですか?ありがとう@Craige_Hales 。
データがテキスト ファイルではなくデータ テーブルにある場合、どのような変更が必要ですか?
(テキスト ファイルをロードして呼び出します。 dt )。
次に、ヘッダーとフッターを分離する必要がありますデット。
また、ヘッダーとフッターのエントリ間の空行、たとえば間の空白を処理する方法フッターの2行目そしてフッターの3行目それらを含めないでくださいデータ?
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 ) ) );
meta data separated from datameta data separated from dataデータから分離されたメタデータ