从剪贴板列表中选择列的脚本这是我的脚本(基于大家的帮助!),它运行良好,在这种情况下,选择数据表中的“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 个列标签,所以我需要自动化。
谢谢