將 For 迴圈中遞增的變數名稱儲存到清單中我在嘗試著
1)開啟Unique_Files清單中列出的一系列文件
2) 如果檔案不存在,則會開啟一個對話框,其中顯示一則訊息,指示檔案存在
3) 如果檔案確實存在,則在JMP中開啟該文件
4)如果檔案確實存在,則將資料表引用名稱新增至UniqueTables清單中
除了能夠創建數據表引用名稱列表之外,我的腳本的所有其他部分似乎都在工作。我的腳本編寫方式如下所示,結果出現在清單中
UniqueTables = { DataTable("filename1"), Data Table("filename2"),....}
相反,我希望腳本產生的清單為
唯一表 = My_Table_1、My_Table_2、My_Table_3、...
提前致謝。
N Items (Unique_Files);
UniqueTables = { };
For ( i = 1, i <= N, i ++,
If(
File Exists( "C:\PretendFilePath\" ||Unique_Files[i]|| ".csv"),
Eval(
Substitute(
Expr(
MyTab = Open( "C:\PretendFilePath\" ||Unique_Files[i]|| ".csv");
Insert Into( UniqueTables, MyTab)
),
Expr( MyTab),
Parse( My_Table_" ||Char(i))
)
),
New Window ("File Not Found",
<< Modal,
V List Box(
Text Box( Unique_Files[i]|| " does not exist in folder."),
Button Box( "OK")
)
)
)
);回覆:將 For 迴圈中遞增的變數名稱儲存到清單中是的
回覆:將 For 迴圈中遞增的變數名稱儲存到清單中那個時期很難看啊!!!!
回覆:將 For 迴圈中遞增的變數名稱儲存到清單中有些如何一個句點“。”之後結束
Show( UniqueTables );.
所以刪除它,它會正常工作......我將更正前面的範例以供將來參考。
回覆:將 For 迴圈中遞增的變數名稱儲存到清單中在最後一行我收到以下錯誤:
意想不到的「獨特表」。 可能少了一個“;”或 ”,”。
第 42 行第 1 列:►UniqueTables[1] << Concatenate( UniqueTables[2] );
其餘被忽略的文本是
UniqueTables[1]<回覆:將 For 迴圈中遞增的變數名稱儲存到清單中
您似乎對各種結構實際上為您提供了什麼缺乏了解。我強烈建議您花時間閱讀腳本指南。但是,我還認為下面的內容可能會解決您當前程式碼的一些問題。看看下面我帶註釋的程式碼,看看它是否可以解決您遇到的問題。
names default to here(1);
dt1=open("$SAMPLE_DATA/big class.jmp");
dt2=open("$SAMPLE_DATA/big class families.jmp");
// Here is what the value of dt1 is
show(dt1);
// From the log
// dt1 = DataTable("big class");
// Therefore the value of dt2 is,
show(dt2);
// dt2 = DataTable("big class families");
// The structure of the Concatenate Platform syntax is:
// data table("data table name") << Concatenate( data table("data table2 name"), data table("data table2 name") );
// That would mean that the following will concatenate our two files
data table( "big class" ) << Concatenate( data table( "big class families" ) );
// It also means, that since we have variables dt1, which was shown to equal Data Table( "big class" ), and
// dt2 which has the value of Data Table( "big class families" )
// the above concatenate statement can be written
dt1 << Concatenate( dt2 );
// Here is another way to do this
UniqueTables = {};
MyTab = open("$SAMPLE_DATA/big class.jmp");
insert into( UniqueTables, MyTab );
MyTab = open("$SAMPLE_DATA/big class families.jmp");
insert into( UniqueTables, MyTab );
Show( UniqueTables );
// returns
// UniqueTables = {DataTable("big class"), DataTable("big class families")};
// So now the Concatenate statement can be written
UniqueTables[1] << Concatenate( UniqueTables[2] );回覆:將 For 迴圈中遞增的變數名稱儲存到清單中看看是什麼XY問題是的,它肯定會幫助我們幫助您。
但除此之外。如果您想要做的只是將資料夾中的所有 JMP 檔案連接在一起。
Names default to here( 1 );
// this is just creating an example set don't worry about it.
dt = open("$SAMPLE_DATA\Big Class.jmp");
dir = convert file path("$DESKTOP\Example\");
Create Directory(dir);
for(i=1, i<=6, i++,
path = convert file path(char(i)||".jmp", base(dir));
dt << Save As(path);
);
// this is actually what you'll want to run
dir = convert file path("$DESKTOP\Example\");
// find the files in that directory
files = files in directory(dir);
// create a base table
dt_final = New Table("Concatted");
for(i=1, i<=nitems(files), i++,
dt = open(convert file path(files[i], base(dir)));
dt_final << Concatenate(dt, append to first table(1));
close(dt, no save);
)回覆:將 For 迴圈中遞增的變數名稱儲存到清單中嗨吉姆,
不幸的是,我仍然沒有得到想要的結果,因為我不清楚如何解釋我的情況。
我應該指定 Unique_Files 列表是儲存在資料夾位置中的 CSV 的檔案名稱。
Unique_Files = {"FileName1", "FileName2", "FileName3", etc...}
使用 << Get Name 函數會產生 UniqueTables 列表,如下所示
UniqueTables = {"FileName1", "FileName2", "FileName3", etc...}
當我尋找
UniqueTables = {My_Table_1, My_Table_2, My_Table_3, etc...}
一旦我以這種格式將 UniqueTables 清單放在一起,我的計劃是將其中一些表連接在一起並關閉連接的來源表。我只知道如何使用 My_Table_1 的表引用名稱來執行此操作。有沒有辦法從檔案名稱「FileName1」連接表?如果有的話,我就可以完全繞過這個問題。
先致謝!你非常有幫助。
回覆:將 For 迴圈中遞增的變數名稱儲存到清單中我可以問你為什麼要這樣做嗎?這樣做會使腳本很難支持,因為您找不到變數名稱。 一旦所有者無法再理解自己的程式碼,我就會修復腳本,這總是我遇到的問題。
給出多個變數可以帶給你什麼清單不能帶來的好處?
因為似乎沒有必要
UniqueTables[1] = My_Table_1 = DataTable("filename1");
回覆:將 For 迴圈中遞增的變數名稱儲存到清單中您需要做的就是從資料表參考中檢索表名稱,因此將對“Mytab”的引用更改為:
Insert Into( UniqueTables, MyTab << get name)
JSL 中各種元素的所有訊息都會記錄在腳本指南中
幫助==>腳本指南