腳本:刪除字串前綴並將修改後的列輸出到 Excel 文件大家好。 我一直在遵循以下建議字串解析公式以及其他一些將資料寫入文件的參考,主要適用於區塊文字文件,但我發現
Save Excel File()
腳本索引中的函數。 我不知道最後一個參數的意義/作用是什麼? 沒有解釋。 也就是說,
Separate Rows for Each Cell Statistic( 1 )
這重要嗎? 無論此參數是否存在,它都不會向我指定的位置中的任何文件寫入任何內容。
這是我的腳本的粗略輪廓:
dt = Current Data Table();
c = Words(:ID, "_");
Write(c);
s = c[2] || "_" || c[3] || "_" || c[4] || "_" || c[5];
Write(s);
s << Save Excel File(
"$DOCUMENTS\temp.xlsx",
Separate Rows for Each Cell Statistic( 1 )
);
因此,我嘗試刪除前綴,並保留剩餘的四個“單字塊”及其下劃線,我將通過字符串連接手動將其添加回來。 看字串和變數連接用於字串連接“||”參考。
無論如何,$DOCUMENTS\temp.xlsx 中沒有顯示任何檔案。
另外,嗯,它叫什麼,終端,窗口,日誌,給了我錯誤
Subscript Range in access or evaluation of 'c[2]' , c[/*###*/2]
我不知道為什麼。 我所包含的 Write() 語句不會輸出任何字串或列。
所以基本上沒有什麼可以正常運作。 我想,第一方!
讓我知道你們都可以想到什麼技巧。
乾杯,
麥克風
品質和工藝工程回覆:腳本:刪除字串前綴並將修改後的列輸出到 Excel 文件將資料表指標新增至列函數中,確保它是有列的表。
列(dt,:id)
聽起來可能有多個打開的表,並且 JMP 正在嘗試使用當前表,但這不是您想要的表。
當你建立子集時,你可以獲得新表的表指標:
dtSubset = dt<<子集(...);
回覆:腳本:刪除字串前綴並將修改後的列輸出到 Excel 文件這是一個很棒的框架;我現在發現的問題很簡單:
我正在使用的表是完整表的行的子集。 當我轉到 Column(:ID) 時,它找不到該列,即
could not find column{3} in access or evaluation of 'Column' , Column/*###*/(dt:ID)這看起來很簡單,但我不知道為什麼。 我認為這是因為我正在使用行的子集,我確實需要這樣做,但我可以透過在基表上嘗試腳本來找出情況是否如此。 一會兒...
不,這似乎也是完整數據表上的問題。
對於「找到」我的專欄有什麼建議嗎?
麥可
回覆:腳本:刪除字串前綴並將修改後的列輸出到 Excel 文件
另外,一般來說,如果您有一個接受參數或變數的函數,那麼傳入列是否會依元素對列執行函數?
否。通常,如果您需要對資料表的每一行進行評估,您將需要在資料表中建立公式列或使用對於每一行()迭代器。
JMP 16 引進了對於每個()迭代 JSL 資料結構的函數:列表、關聯數組或矩陣。
回覆:腳本:刪除字串前綴並將修改後的列輸出到 Excel 文件另外,一般來說,如果您有一個接受參數或變數的函數,那麼傳入列是否會依元素對列執行函數?
麥克風
回覆:腳本:刪除字串前綴並將修改後的列輸出到 Excel 文件感謝您的回复, @蒂埃里_S ! 我目前正在嘗試您的腳本以及其他一些東西。
對於大多數人來說,這聽起來像是一個超級簡單的事情,但我實際上不知道當涉及多個單值變數時,為了調試目的可視化輸出的最佳方法是什麼,即如何將單個列彈出到新資料表(僅使用 JSL),或將列列印到日誌,或類似的操作。
我不記得了,也許我以前做過這個,只是一片空白,但我覺得問這個問題有點傻。
再次感謝!
麥克風
回覆:腳本:刪除字串前綴並將修改後的列輸出到 Excel 文件我認為保存 Excel 檔案是分類回應分析平台的一個特例其他分類平台選項。 要將資料表儲存為 Excel 文件,您只需使用 << Save(path)。
目前,您正嘗試將字串儲存到 Excel 文件,該字串是從資料表的第一行建立的。 根據您想要儲存的方式和內容,您有不同的選項,以下是 :ID 列值替換為新值(刪除第一個 _ 之前的字元)的選項:
Names Default To Here(1);
dt = New Table("Untitled 2",
Add Rows(3),
Compress File When Saved(1),
New Column("ID", Character, "Nominal", Set Values({"1_2_3_4_5_6", "2_3_4_5_6_7", "3_4_5_6_7_8"}))
);
Wait(1);
dt:ID << Set Each Value(
Substr(:ID, Contains(:ID, "_")+1)
);
dt << Save("$DOCUMENTS\test.xlsx");您還可以使用新值建立新列,這很可能是更好的方法。
回覆:腳本:刪除字串前綴並將修改後的列輸出到 Excel 文件你好,
在處理字串時,我傾向於使用特定於字串的函數(例如 Substitute ()、Munger ()、Right ()、Word());
因此,對於您的情況,我建議使用以下公式來刪除 IDS 字串的第一部分,包括「_」字元的第一個實例:
Substitute( :IDS, Word( 1, :IDS, "_" ) || "_", "" )
最好的,
TS