作為數據庫導出的一部分,我得到一個文件,其中包含一些我可以立即使用的標題(從實驗 ID 到 DOE_FILE_ID),但隨後我得到了一些 C1 到 C255 的“通用”標題

我需要做的是選擇所有具有 C1 到 C255 作為標題的第一行數據,並將其替換為所選第一行中的信息
因此 C1 將更改為 Sample,C2 將是 OLD Sample Identifier 等。 對於每個表,我得到的信息都會不同,因此我不能使用查找和替換來執行此操作。我無法更改使用首選項導入此數據的方式,因為它是從數據庫中導入的。
許多問候
大衛
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我想我應該提到我假設你想用它做一個按鈕。 腳本 > 按鈕 > 高效重複。
如果您可以以交互方式進行操作,則可以使用複制和粘貼。
選擇第一行中具有列名的單元格。 然後在左側的列面板中選擇列並粘貼它們。
看這篇博文更完整的解釋,帶視頻。
-傑夫
首先,
colNames = dt << get column names;For( i = 1, i <= N Items( colNames ), i++, Column( i ) << set name( Column( i )[1] ));// delete the first rowdt << select rows( 1 );dt << delete rows;
這會將所有列名加載到colNames ,遍歷列表,然後將每個名稱設置為其第一個元素。
對於您的情況,我將使用正則表達式過濾器來遍歷列名,添加以開頭的列"^C\d"到一個單獨的列表。
badCols = {};For( i = 1, i <= N Items( colNames ), i++, cname = Column( colNames ) << get name; If( !(Is Missing( Regex( cname, "^C\d" ) )), Insert Into( badCols, colNames ) ););Show( badCols );<CODE><SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt; line-height: 1.5em;">colNames = dt << get column names;</SPAN>然後重命名這些特定列,您可以執行以下操作:
For( i = 1, i <= N Items( badCols ), i++, cname = Column( badCols ) << get name; Column( cname ) << set name( Column( cname )[1] ););
我仍在努力選擇相關列的第一個單元格並刪除該單元格(列名),如果最後一行為空,您可能還想刪除它,但這是一個很好的起點。 當我弄清楚最後一塊時,我會更新,但你可能會打敗我。
我希望這有幫助。