重命名列大家好,
在我的代碼中,我打開一個 csv 文件,並將該列重命名為“Column 1”。在數據表中,它被重命名,但是當我搜索所有不同的列時,它找不到“Column 1”。 它只有在打開時才能識別其原始名稱。我正在數據表中搜索值,並且我需要知道它位於哪一列(如果我將 i 設置為 2,則該列有效)。我知道將 i 設置為 2 適合此應用程序,但總的來說,我認為最好知道為什麼會發生這種情況。
colFunction = Function({search_string},
found =0;
i=1;
Show(search_string);
Show(nCols);
While (found == 0,
match_rows = dt << get rows where(as column(dt, nCols)==search_string);
if(nrows(match_rows) > 0, found = 1, i++);
if(i==nCols, found =1, );
);
col = Num(i);
);
file = Pick File();
dt = Open (file);
for(i=1, i<=ncols(dt), i++,
column(dt,i) << data type(Character);
column(dt,i) << set modeling type(continuous);
);
nCols = dt << Get Column Names ("Character");
col = Column (1);
col << set name("Column 1");
irglCol = colFunction("Irgl");
回复:重命名列太棒了..就像一個魅力。
多謝。
回复:重命名列@tx尼爾森向您展示了腳本解決方案,但這也很容易交互處理。
您可以從數據表左側的列表中復制列名稱,然後將其粘貼到新數據表的列中。 現在您可以使用公式編輯器的所有功能來操作它們。
然後從新列複製它們並將它們粘貼回原始表中。
這是一個展示該技術的小視頻。
回复:重命名列這是一個簡單的腳本,可以滿足您的需要
Names Default To Here( 1 );
dt = Current Data Table();
ColList = dt << get column names( string );
For( i = 1, i <= N Items( ColList ), i++,
If( Substr( ColList[i], 1, 1 ) == "0",
Column( dt, i ) << set name( Substr( ColList[i], 2 ) )
)
);
回复:重命名列大家好,
我有一個類似的問題,但不完全相同:我有一個包含 100 個列的 JMP 表,其中大多數列名稱以數字 0 開頭,這使得很難去/搜索特定列。有沒有辦法通過 JMP 腳本刪除每列開頭的數字 0。
如果是一列或兩列,我可以手動完成,但這些都是 100 的......我知道如何一次更改一列的名稱,但在這種情況下,我認為我需要以某種方式使用循環或其他東西...
請告訴我是否有一些方法可以實現這一目標。
感謝所有的幫助。
謝謝。
回复:重命名列獲取列名僅獲取列名列表
獲取列引用獲取名稱作為字符串
也許還有其他一些想法。
打開(); //不必選擇文件,它會自動打開pic文件對話框
獲取列列表,找到模式的位置,然後使用參考處的位置更改列名稱
list=dt<< get column reference(); //gets strings not a list of columns
position=contains(list, column("Carline")); //finds the position of something in a list
column(position)<<SETNAME></SETNAME>
或者我想你可能會變得非常瘋狂並在列表中替換並用列表重命名所有列
newlist=substitute(list, string, "Column 1");
dt<<SET column="" names=""></SET>