從剪貼板列表中選擇列的腳本這是我的腳本(基於大家的幫助!),它運行良好,在這種情況下,選擇數據表中的“Aasdh,Abca2,Abca7,Abcf1,Abi3”列。
我的新問題:當我的剪貼板中有大量列名時,我不想輸入或轉換為按列分隔的名稱,如此處的 t 腳本所示。相反,我希望腳本直接使用剪貼板來選擇數據框中的列。
如何直接在腳本中將剪貼板列表轉換為“Aasdh,Abca2,Abca7,Abcf1,Abi3....”?
謝謝!
腳本
//帶有要選擇列的數據表現在打開
名稱默認為此處( 1 );
dt =當前數據表();
// 獲取數據列名稱列表
col_list = dt <<獲取列名( 細繩 );
// 用戶指定的列名
cc = {Aasdh,Abca2,Abca7,Abcf1,Abi3};
為了(我 = 1 , 我 <= N 項( cc ), i++,
如果(包含( col_list,字符( cc[i] ) ),
柱子( dt,字符( cc[i] ) ) <<設置選定( 1 )
)
);
數據表腳本編寫回复:從剪貼板列表中選擇列的腳本您可以使用
myClipboard = Get Clipboard();
將列表移動到內存變量中.....在這個例子中,一個名為“myClipboard”的變量,然後使用 JSL,根據需要對其進行操作
如果您的剪貼板包含以下內容
Aasdh,Abca2,Abca7,Abcf1,Abi3
您可以使用以下方法將其檢索到 JMP 列表中
myClipboard = words(Get Clipboard(),",");
回复:從剪貼板列表中選擇列的腳本遲來的……
我的列表從 JMP 數據框或 excel 中的列複製到剪貼板
我需要剪貼板內容,例如 3 個副本字符串、columnQ、columnX、columnB,以便在腳本 {columnQ、columnX、columnB} 中轉換為該內容。
..... 但是您列出的所有解決方案都會導致該系列周圍的“”,並且腳本不會運行。如何擺脫“”??
謝謝
myClipboard = 獲取剪貼板();
/*:
"列Q
列X
B列”
//:*/
myClipboard = words (Get Clipboard());
/*:
{"列Q
列X
列B"}
//:*/
myClipboard = words(Get Clipboard(),);
/*:
{"列Q
列X
列B"}
//:*/
myClipboard = words(Get Clipboard(),",");
/*:
{"列Q
列X
列B"}
回复:從剪貼板列表中選擇列的腳本Get Clipboard() 將剪貼板中找到的所有內容作為單個字符串返回。要從返回的字符串中獲取特定值,必須使用 JMP 中的各種字符處理函數從字符串中獲取它們。
請注意,默認情況下,JMP 會在列值之間放置一個製表符作為分隔符。
如果打開名為 Big Class 的示例數據表,並將第 1 3 列(姓名、性別、年齡)的前 10 行複製到粘貼緩衝區中,以下腳本將返回複製到的第 2 行中的個人姓名粘貼緩衝區。
Names Default To Here( 1 );
myClipboard = Get Clipboard();
theWord = Word( 4, myclipboard, "\!t\!n\!r" );
Show( theWord );
Word() 函數返回 myclipboard 變量中的第 n 個單詞,使用製表符、換行符和回車符作為要查找的分隔符以確定單詞間距。\!t 是轉義結構,指示 Tab 的不可打印字符。
從這個模式中,您應該能夠傳遞數據並找到您需要的所有信息。
回复:從剪貼板列表中選擇列的腳本感謝您一再努力幫助解決這個問題。但是,我認為我沒有說清楚。
當 Getclipboard 給我這個...
{"Tcea1, Atp6v1h, Oprk1, Rb1cc1, Fam150a"}
我需要把它轉換成這個
{"Tcea1", Atp6v1h", "Oprk1", "Rb1cc1, "Fam150a"} 我更喜歡它,因為它會將數值轉化為字符串
或進入這個
{Tcea1, Atp6v1h, Oprk1, Rb1cc1, Fam150a}
有沒有一種簡單的方法來編寫這種轉換的腳本....?
那麼您在 6 月份提供的腳本很好地選擇了所有列。通常我的列表有 100 個列標籤,所以我需要自動化。
謝謝