使用變數和通配符開啟 JMP 文件<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />提示使用者選擇文字檔案後,將開啟該檔案並根據該文字資料檔案名稱中包含的網站名稱建立一個變量,如下所示
dt.rawdata = 開啟(
選擇文件(......
)
);
// 建立檔案名稱字串
dtname = dt.rawdata << 取得名稱;
// 建立名為 siteid 的變量,僅從檔案名稱中刪除網站名稱
If( Word( 1, dtname, "_" ) == "UC",
站點ID =“UC_”||字(2,dtname,“_”),
siteid = Word( 1, dtname, "_" )
);
我現在遇到的困難是如何打開名稱中包含剛剛確定的siteid的JMP資料檔。目錄中有大約 40 個 .xls 和 .jmp 資料文件,我正在嘗試打開文件名中包含 siteid 的唯一 JMP 文件,如下所示
在哪裡 ?是 LTEM 資料後面的文字字串的通配符。檔案名稱遵循 siteid LTEM Data, yyyy - YTD.jmp 格式,其中 yyyy 指起始年份,並根據站點 ID 的不同而變化。
dt.metplots = 打開(
“$dir_metplots/” ||站點ID || “LTEM 數據?” || “.jmp”
);
是否有一個通配符可以用於此目的,或者是否有其他一些聰明的方法來實現此目的?提前致謝。
回覆:使用變數和通配符開啟 JMP 文件謝謝女士,
效果很好。我想知道如何使用所提供的程式碼設法獲取正確的 JMP 文件,即使存在許多其他帶有 siteid 前綴的文件。事實證明,幸運的是,我要開啟的正確檔案是第一個列出的帶有 siteid 前綴的檔案。因此,為了確保在列表中與 siteid 對應的第一個文件不是 JMP 文件時打開 JMP 文件,我添加了以下 Ends With 代碼。
對於( i = 1, i <= n, i++,
If( AND( 開頭為( 文件, siteid ), 結尾為( 文件、「jmp」))、
文件名=文件;
休息();
)
);
從這個小練習中學到了很多。再次感謝您的幫忙。
回覆:使用變數和通配符開啟 JMP 文件我認為這裡不能使用通配符。
也許這種方法適合您(剛剛從上面複製的第一個命令):
dt.原始數據=打開(選擇文件()) ;
// 建立檔案名稱字串
資料名稱= dt.原始數據<<獲取姓名;
// 建立名為 siteid 的變量,僅從檔案名稱中刪除網站名稱
如果(單字( 1 ,資料名稱, “_” ) == “加州大學” ,
站點ID = “UC_” ||單字( 2 ,資料名稱, “_” ) ,
站點ID =單字( 1 ,資料名稱, “_” )
) ;
// 建立目錄中的檔案列表
小路= “$dir_metplots/” ;
文件=目錄中的文件(小路) ;
n = N 項(文件) ;
// 取得以目前siteid開頭的檔名
為了(我= 1 ,我<= n ,我++,
如果(以。。開始(文件[我] ,站點ID ) ,
檔案名稱=文件[我] ;
休息()
)
) ;
// 開啟檔案
dt.metplots =打開(小路||檔案名稱) ;