値に一致する行と列 (セル) を見つける方法生成されたテーブルがあり、フォーマットが時々異なり、スクリプトが壊れます。テーブルは巨大なので、ループを処理する方法は、速度を上げるために最初の 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;
データ表スクリプティングRe: 値に一致する行と列 (セル) を見つける方法@txnelsonさん、返信ありがとうございます。列名は内容を示すものではありません。それらは本当に厄介なテーブルです。そのため、実際のデータの開始位置を特定し、テーブルを閉じてから、列を識別する正しい行でテーブル全体を再インポートする必要があります。
あなたのコメントは、すべての列名を取得して各列をループし、一致するセル値が見つかった場合は、行の値を変数に割り当ててループを終了できることに気付きました。
Re: 値に一致する行と列 (セル) を見つける方法データ テーブルの列を番号で参照できます
dt << select where( column(dt, 3 ) == "Top" );
または、データ テーブルの列名を簡単に取得して、それらの名前を参照できます。
colNames = dt << get column names;
dt << select where( column( dt, colNames[3] == "Top" );
したがって、サンプルを抽出したら、列の名前を見つけるか、列番号で検索できます。