腳本:刪除字符串前綴並將修改後的列輸出到 Excel 文件大家好。 我一直在遵循以下建議https://community.jmp.com/t5/Discussions/String-parsing-formula/td-p/51077以及其他一些將數據寫入文件的參考資料,主要適用於塊文本文件,但我發現
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 )
);
所以我試圖刪除前綴,並保留剩下的四個“單詞塊”加上它們的下劃線,我通過字符串連接手動添加回來。 看https://community.jmp.com/t5/Discussions/string-and-variable-concatenation/td-p/56308用於字符串連接“||”參考。
無論如何,$DOCUMENTS\temp.xlsx 中沒有顯示任何文件。
另外,嗯,它叫什麼,終端,窗口,日誌,給了我錯誤
Subscript Range in access or evaluation of 'c[2]' , c[/*###*/2]
我不知道為什麼。 作為我包含的 Write() 語句的結果,不會輸出任何字符串或列。
所以基本上沒有什麼是正常的。 廣場一,我想!
讓我知道你們都可以想到什麼技巧。
乾杯,
麥克風
數據表腳本編寫回复:腳本:刪除字符串的前綴並將修改後的列輸出到 Excel 文件你好,
在處理字符串時,我傾向於使用特定於字符串的函數(例如 Substitute ()、Munger ()、Right ()、Word());
因此,在您的情況下,我建議使用以下公式刪除 IDS 字符串的第一部分,包括“_”字符的第一個實例:
Substitute( :IDS, Word( 1, :IDS, "_" ) || "_", "" )
最好的,
TS
回复:腳本:刪除字符串的前綴並將修改後的列輸出到 Excel 文件我認為 Save Excel file 是 Categorical Response Analysis Platform 的特例其他分類平台選項. 要將數據表保存為 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 文件謝謝回复, @Thierry_S ! 我目前正在嘗試您的 scriptlet 以及其他一些東西。
對於大多數人來說,這聽起來可能是一件非常簡單的事情,但我實際上不知道當涉及的不僅僅是單值變量時,出於調試目的可視化輸出的最佳方法是什麼,即如何將單列彈出到新數據表(僅使用 JSL),或將列打印到日誌,或類似的東西。
我不記得了,也許我以前做過這個,只是畫了一個空白,但我覺得問這個問題有點傻。
再次感謝!
麥克風
回复:腳本:刪除字符串的前綴並將修改後的列輸出到 Excel 文件另外,一般來說,如果您有一個接受參數或變量的函數,那麼傳入一列是否會按元素對列執行該函數?
麥克風
回复:腳本:刪除字符串的前綴並將修改後的列輸出到 Excel 文件
另外,一般來說,如果您有一個接受參數或變量的函數,那麼傳入一列是否會按元素對列執行該函數?
不。通常,如果您需要對數據表的每一行進行評估,您將需要在數據表中創建公式列或使用對於每一行()迭代器。
JMP 16 引入了對於每個()迭代 JSL 數據結構的函數:列表、關聯數組或矩陣。