<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我有一個非常好的工作腳本來打開目錄中的所有文件,然後連接所有文件(在JMP10中)。
我一直使用這個和這個腳本的變體進行數據收集。
現在在JMP11中,腳本的Concatenate部分崩潰了。
它仍然可以在JMP10中正常工作,所以我回來使用JMP10來完成我的工作。
這個小組幫助我獲得了今年4月份的第一個劇本。
請幫忙!!
查理菲爾茲
================================================== ================================================== =
path =“C:\ temp \ data \”;
final_files = {};
final_files =目錄中的文件(路徑,遞歸);
///////////////////打開列表中的第一個文件/////////////////////
///////其他文件將附加到此///////////
I = 1;
dtjoin =開放(
路徑|| final_files
)
<< set name(“Joined1”);
////////////////////////////////////////////////// //////////////////////////
//////////現在打開列表中剩餘的文件//////////////
////////////////////////////////////////////////// //////////////////////////
I = 2;
對於(i = 2,i <= N項(final_files),i ++,
dt =
打開(
路徑|| final_files ,
);
dtjoin = dtjoin << Concatenate(
DT,
輸出表名稱(“加入”|| Char(i)),
);
關閉(dt,nosave);
關閉(“加入”||字符(i - 1),nosave);
); //結束
dtjoin << set name(“All Joined”);
太感謝了!
我用過這個:
dtjoin = 打開 ( 路徑 || final_files [ 一世 ] ) ;
dtjoin << 設定名稱 ( “Joined1” ) ;
正如你的建議,它工作得很好。
現在,我將不得不在其他代碼中實現此更改。
現在,我可以繼續使用JMP11。
再次感謝!!
查理
對於評估順序不明確的代碼,JMP 11似乎不那麼寬容。您的代碼不會讓我崩潰JMP 11,但會出現錯誤“發送Expects Scriptable Object訪問或評估'Send',dtjoin << Concatenate(dt,輸出表名稱(”Joined“|| Char(i)))”在日誌中。
嘗試在“打開列表中的第一個文件”部分中更明確。要確定變量dtjoin是指數據表(而不是字符串),要么在括號中包含賦值,以在重命名表之前強制求值,
( dtjoin = 打開 ( 路徑 || final_files [ 一世 ] )) << 設定名稱 ( “Joined1” ) ;
或將分配和重命名分成兩個陳述:
dtjoin = 打開 ( 路徑 || final_files [ 一世 ] ) ;
dtjoin << 設定名稱 ( “Joined1” ) ;