如何查找与值匹配的行和列(单元格)我生成了一些表格,并且格式有时会有所不同,这会破坏我的脚本。这些表很大,因此我处理循环的方式是导入前 100 行和 5 列,以提高速度。然后我在特定列中搜索关键字,以帮助我了解真实数据从哪一行开始。我关闭文件,然后使用标识列标题和数据开始的变量重新打开。
然而,如上所述,大约 1% 的文件被隐藏起来,并且在开头有额外的列,有时还有几百个随机行,因此它使我的脚本出错。我在想,如果我可以在整个缩写表中搜索我的关键字,那么我就可以绕过它,但我不确定如何一次搜索多个列,特别是当列名称更改时。
这是我当前用来识别行的方法,在特定列中查找。我如何打开它来搜索第 1-10 列甚至整个表格?
//nr1 becomes the column headers and nr2 becomes the first row of data when i reopen the full table.<BR />nr1 = dt << get rows where( :Col1 == "customparameter" );
nr2 = nr1 + 1;
数据存取大规模定制回复:如何查找与值匹配的行和列(单元格)@tx尼尔森,感谢您的回复。列名并不表示内容,它们确实是扭曲的表格。这就是为什么我必须找到实际数据开始的位置,关闭表,然后重新导入带有标识列的正确行的完整表。
不过,您的评论让我意识到我可以获取所有列名称,然后对每一列进行循环,如果找到匹配的单元格值,则将行值分配给我的变量并退出循环。
回复:如何查找与值匹配的行和列(单元格)您可以按数字引用数据表中的列
dt << select where( column(dt, 3 ) == "Top" );
或者您可以轻松检索数据表中的列名称,并引用这些名称
colNames = dt << get column names;
dt << select where( column( dt, colNames[3] == "Top" );
因此,提取样本后,您可以找到列的名称或仅按列号搜索。