作为数据库导出的一部分,我得到一个文件,其中包含一些我可以立即使用的标题(从实验ID到DOE_FILE_ID),但后来我得到了一些C1到C255的“通用”标题

我需要做的是选择所有第一行数据,其中C1到C255作为标题,并用所选第一行的信息替换它
因此C1将更改为Sample,C2将是OLD Sample Identifier等。对于我得到的每个表,这些信息都会有所不同,所以我不能使用Find&Replace来执行此操作。我无法更改使用首选项导入此数据的方式,因为它来自数据库。
很多问候
大卫
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我想我应该提到我假设你想要制作一个按钮。脚本>按钮>高效重复。
如果您可以以交互方式进行,则可以使用复制和粘贴。
选择第一行中具有列名称的单元格。然后选择左侧列面板中的列并粘贴它们。
看到这篇博文有关视频的更完整说明。
-Jeff
首先,
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] ););
我仍在努力选择相关列的第一个单元格并删除该单元格(列名称),然后您可能还想删除最后一行(如果它是空的),但这是一个很好的起点。当我想到最后一块时,我会更新,但你可能会打败我。
我希望这有帮助。