Cómo encontrar una fila y columna (celda) que coincida con un valorTengo tablas que se generan y el formato es diferente de vez en cuando y rompe mi script.Las tablas son enormes, por lo que la forma en que manejo mis bucles es que importo las primeras 100 filas y 5 columnas, por velocidad.Luego busco una palabra clave en una columna en particular para ayudarme a saber dónde comienzan los datos reales en qué fila.Cierro el archivo y luego lo vuelvo a abrir con esa variable que identifica el encabezado de la columna y el inicio de los datos.
Sin embargo, como se mencionó anteriormente, alrededor del 1 % de los archivos son tontos y tienen columnas adicionales al principio y, a veces, unos cientos de filas aleatorias, por lo que mi script se tropieza.Estaba pensando que si puedo buscar mi palabra clave en toda la tabla abreviada, entonces puedo evitarlo, pero no estoy seguro de cómo buscar varias columnas a la vez, especialmente cuando cambian los nombres de las columnas.
Este es el método que uso actualmente para identificar mi fila, buscando en una columna en particular.¿Cómo abro esto para buscar las columnas 1-10 o incluso toda la tabla?
//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;
Tabla de datossecuencias de comandosRe: Cómo encontrar fila y columna (celda) que coincida con un valor@txnelson , Gracias por la respuesta.Los nombres de las columnas no son indicativos del contenido, son tablas realmente complicadas.Es por eso que tengo que ubicar dónde comienzan los datos reales, cerrar la tabla y luego volver a importar la tabla completa con la fila correcta que identifica las columnas.
Sin embargo, su comentario me hizo darme cuenta de que puedo tomar todos los nombres de las columnas, luego hacer un ciclo a través de cada columna y si encuentra el valor de la celda correspondiente, asigne el valor de la fila a mi variable y salga del ciclo.
Re: Cómo encontrar fila y columna (celda) que coincida con un valorPuede hacer referencia a las columnas de una tabla de datos por número
dt << select where( column(dt, 3 ) == "Top" );
o puede recuperar fácilmente los nombres de las columnas en una tabla de datos y consultar esos nombres
colNames = dt << get column names;
dt << select where( column( dt, colNames[3] == "Top" );
así que una vez que haya extraído su muestra, puede encontrar los nombres de las columnas o simplemente buscar por número de columna.