有關導入多個 TXT 文件並刪除某些數據的腳本的幫助 JMP 15你好,
我想將多個TXT文件導入到一個數據表中。
單個 TXT 文件如下所示,我只想導入突出顯示的數據,如果可能的話,創建一個新列來捕獲批次號。

我編寫了以下腳本(如下),該腳本使我部分實現了目標,但我仍然需要刪除下面突出顯示的一些數據。 當我只有幾個文件時這還可以,但當文件超過 10 個時,這就有問題了。

任何人都可以建議添加腳本來解決此問題嗎? 我目前正在使用 JMP 15。
謝謝你!
Multiple File Import(
<<SET folder=""></SET>
高級統計建模自動化和腳本編寫消費者和市場研究數據存取數據混合和清理大規模定制回复:有關導入多個 TXT 文件並刪除某些數據的腳本的幫助 JMP 15我猜前面有一個空白字符[D105_Unf25]。下面的腳本應該可以解決這個問題
Names Default To Here( 1 );
dt = Current Data Table();
// Create a new column to hold the parameter name
dt << New Column( "Parameter",
character,
set each value(
If( Left( trim(:col1), 1 ) == "[",
temp = Word( 1, trim(:col1), "[]" );
);
temp;
)
);
// Find all measurement rows and subset them to a new table
dt << select where(isMissing(Num(:col2))==0);
dtMeasures = dt << subset( selected rows(1), selected columns(0));
// Convert the Measure data to numeric
dtMeasures:col4 << datatype(numeric)<<MODELINGTYPE></MODELINGTYPE>
回复:有關導入多個 TXT 文件並刪除某些數據的腳本的幫助 JMP 15嗨吉姆,
謝謝 :)
回复:有關導入多個 TXT 文件並刪除某些數據的腳本的幫助 JMP 15@肯迪這是一個腳本,應將您的測量列轉換為每個參數的單獨列
Names Default To Here( 1 );
dt = Current Data Table();
// Create a new column to hold the parameter name
dt << New Column( "Parameter",
character,
set each value(
If( Left( :col1, 1 ) == "[",
temp = Word( 1, :col1, "[]" );
);
temp;
)
);
// Find all measurement rows and subset them to a new table
dt << select where(isMissing(Num(:col2))==0);
dtMeasures = dt << subset( selected rows(1), selected columns(0));
// Convert the Measure data to numeric
dtMeasures:col4 << datatype(numeric)<<MODELINGTYPE></MODELINGTYPE>
回复:有關導入多個 TXT 文件並刪除某些數據的腳本的幫助 JMP 15不適用
回复:有關導入多個 TXT 文件並刪除某些數據的腳本的幫助 JMP 15@本弗朗西斯效果很好。 感謝您的幫助!
回复:有關導入多個 TXT 文件並刪除某些數據的腳本的幫助 JMP 15你好@克萊爾BH ,
除了多文件導入代碼之外,下面的 JSL 也應該可以解決問題。 它主要與昨天剛剛發布的 JMP 16 中的增強日誌放在一起。
親切的問候,
本
</CODE></P>
<PRE><CODE class=" language-jsl">// Setup and point to open data table
Names Default to Here(1);
dt = Current Data Table();
// Highlight Batch# rows
dt << Select Where( :Column 1 == "Batch#" );
// Make a subset of Batch# rows
dt_batch = dt << Subset( Output Table( "Batch Numbers" ), Selected Rows( 1 ), selected columns( 0 ) );
// Change name in subset so doesn't overwrite when joined back onto
dt_batch:Time << Set Name("Batch No");
// Delete unwanted rows
dt << Select Where( Is Missing( :V 2 ) ) << Delete Rows;
// Pull Batch No into main table
dt << Update(
With( dt_batch ),
Match Columns( :File Name = :File Name ),
Add Columns from Update Table( :Batch No ),
Replace Columns in Main Table( None )
);
// Close subset with Batch No
Close(dt_batch, nosave)
// Move selected column: Batch No
Data Table( "SAS_TEST_FILE_FROM_1_SAS_TEST_FILE_FROM_3" ) <<
Move Selected Columns( {:Batch No}, after( :Column 1 ) );
// Delete column: Column 1
Data Table( "SAS_TEST_FILE_FROM_1_SAS_TEST_FILE_FROM_3" ) <<
Delete Columns( :Column 1 );