10行ごとにデータ行があるtxtファイルからデータをインポートする
新規の JMP ユーザーです。6 行目から始まる 10 行ごとにデータがある大きなテキスト ファイルがあります。列ヘッダーは 4 行目にあり、固定幅のフィールドを使用したいのですが、独自の列幅を選択すると最初の 3 つのヘッダーが右にずれてしまいます。
基本的なデータ分析とモデリングデータアクセスRe: 10 行ごとにデータ行がある txt ファイルからデータをインポートするあなたのデータを考えると、行 3 から始まるヘッダーと行 6 からのデータを指定して、JMP のデフォルトでデータを読み込ませる方が簡単だと思います。その後、JMP のデータ操作機能を使用して不要な行を削除し、列を数値に変換できるはずです。
コミュニティが何を考え出せるかを確認できるように、サンプルの csv ファイルを提供していただけますか?
Re: 10 行ごとにデータ行がある txt ファイルからデータをインポートするRe: 10 行ごとにデータ行がある txt ファイルからデータをインポートするサンプルファイルを投稿しました。返信ありがとうございます
Re: 10 行ごとにデータ行がある txt ファイルからデータをインポートするデータを読み込む簡単なスクリプトです

Names Default To Here( 1 );
dt = Open(
"<PLACE the="" path="" to="" your="" txt="" file="" here="">= 1, i--,
col = colNames[i];
Column( col ) << set datatype( numeric ) << set modeling type( continuous );
If( Col Number( As Column( col ) ) == 0,
dt << delete columns( col )
);
);</PLACE>
Re: 10 行ごとにデータ行がある txt ファイルからデータをインポートする私はtxnelsonが提案したように、このようなデータを取り込むようにします

次にJMPを使ってクリーンアップします。例えば、数式を使って新しい列を作成します。
Mod(Row(), 10)
右クリックして1の行をすべて選択し、選択を反転してから行を削除します

反転後

次に、空の列を削除し、必要に応じてデータ形式を数値連続に変更します。
これは基本的な考え方です(JSLを作成する場合を除きます)が、正しいヘッダーを取得するにはいくつかの修正が必要であるようです。
Re: 10 行ごとにデータ行がある txt ファイルからデータをインポートするあなたはヤギです。この例は、このアプリケーションでスクリプトを使用する方法を学ぶのに役立ちます。
Re: 10 行ごとにデータ行がある txt ファイルからデータをインポートする単位の最初のヘッダーの下に、列ヘッダーの別の行を追加できますか? 単位は 5 行目にあります。 ありがとうございます!!
Re: 10 行ごとにデータ行がある txt ファイルからデータをインポートする私は、最初の応答で示したようにデータ テーブルを作成した後、.txt ファイルを再度読み取り、単位を読み取るように JSL を変更しました。次に、単位を列プロパティとして完全なデータ テーブルの列に追加します。
注: 単位は列名の一部ではありません。列のプロパティです。ただし、単位は列とともに自動的に表示されます。

名前はデフォルトでここに設定されます( 1 );
ファイル = //"
"L:\Documents\Discussion Group/cschultz32.txt";
dt = Open(ファイル、
インポート設定(
行末(CRLF、CR、LF)、
フィールドの終了(スペース、スペース、CSV(0))、
先頭のゼロを文字として扱う(1)
ストリップ引用( 1 ),
アポストロフィを引用符として使用します( 0 )、
地域設定を使用する(0)
ファイル全体をスキャン(1)
空の列を数値(0)として扱う。
数値列を圧縮( 0 )、
文字列を圧縮(0)、
圧縮許可リストチェック( 0 )、
ラベル( 1 ),
列名の開始(4)、
最初の名前付き列(1)
データ開始(6)
読み取る行数(「すべて」)、
年ルール(「20xx」)
)
);
dt << select where( Is Missing( Num( :sampleID ) ) == 1 | Is Missing( Num( :density ) ) );
dt << 行を削除;
colNames = dt << 列名を取得(文字列);
i = N 項目(colNames)の場合、i >= 1、i--、
列 = colNames[i];
列(col) << データ型の設定(数値) << モデリングタイプの設定(連続);
If( 列番号( 列として( 列 ) ) == 0,
dt << 列を削除(col)
);
);
// 単位を読み込んで適用する
dtUnits = Open(ファイル、
インポート設定(
行末(CRLF、CR、LF)、
フィールドの終了(スペース、スペース、CSV(0))、
先頭のゼロを文字として扱う(1)
ストリップ引用( 1 ),
アポストロフィを引用符として使用します( 0 )、
地域設定を使用する(0)
ファイル全体をスキャン(1)
空の列を数値(0)として扱う。
数値列を圧縮( 0 )、
文字列を圧縮(0)、
圧縮許可リストチェック( 0 )、
ラベル( 1 ),
列名の開始(4)、
最初の名前付き列(1)
データ開始(5)
読み取る行数(「すべて」)、
年ルール(「20xx」)
)
);
dtUnits << where(row()>1) を選択します。
dtUnits << 行を削除;
colNames = dt << 列名を取得(文字列、数値);
各({col}, colNames,
単位 = 列(dtUnits、col)[1];
(単位が不足している) == 0の場合、
単位 = Substitute( 単位、 "(", "", ")", "" );
Eval( Eval Expr( Column( dt, col ) << set property( "units", Expr( unit ) ) ) );
);
);
閉じる(dtUnits、保存しない);