es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo comparar 2 columnas en Excel utilizando selenium.

Necesito comparar las 2 columnas en Excel usando Selenium Java, pero Excel contiene más de 4k registros, por lo que está tomando más de una hora comparar. ¿Hay alguna manera más rápida de hacer esto?

Intenté,

Método 1

println(GlobalVariable.gl_system_time)
for(int k=2;k<= sheet.getLastRowNum();k++)

{

    formulary1 = sheet.getRow(k).getCell(2).getStringCellValue()
    columnName.add(formulary1)

    formulary2 = sheet.getRow(k).getCell(3).getStringCellValue()
    columnName1.add(formulary2)

}

println(GlobalVariable.gl_system_time)

if(columnName1.equals(columnName))
{
    KeywordUtil.markFailed(&#39;columnas son iguales&#39;)
}
else
{
    KeywordUtil.markPassed(&#39;columnas son diferentes como se esperaba&#39;)
}

println(columnName)
println(columnName1)

Método 2

for(int k=2;k&lt;= sheet.getLastRowNum();k++)

{

    formulary1 = sheet.getRow(k).getCell(2).getStringCellValue()

    formulary2 = sheet.getRow(k).getCell(3).getStringCellValue()

        if(formulary1 == formulary2)
        {
            break ;
        }
        else{
            continue;
        }

}

pero ambos tardan más de una hora.

Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Hay algunas mejoras potenciales que se pueden hacer para optimizar la comparación de las dos columnas en Excel utilizando selenium java. Aquí hay algunas sugerencias:

    1. Usar procesamiento paralelo: Una forma de acelerar el proceso de comparación es divide la tarea de comparación en sub-tareas más pequeñas y ejecutarlas en paralelo en hilos separados. Esto puede ayudar a reducir significativamente el tiempo de procesamiento, especialmente en máquinas multicore.
    2. Usar estructuras de datos optimizadas: Otra forma de acelerar el procesamiento es utilizar estructuras de datos optimizadas. Por ejemplo, el uso de un conjunto o mapa basado en hash puede ayudar a comparar rápidamente si dos cadenas son idénticas o no, sin tener que iterar sobre todo el conjunto de datos.

    3. Utilizar una base de datos: Si se necesita realizar la comparación con frecuencia o en un conjunto de datos grande, puede ser más eficiente almacenar los datos en una base de datos y utilizar consultas SQL para comparar las dos columnas.

    4. Cachear los datos: Si los datos cambian con poca frecuencia, o si el proceso de comparación no necesita ser en tiempo real, los datos se pueden cachear en memoria para mejorar el rendimiento. Esto puede ayudar a evitar la lectura de los datos del archivo de Excel cada vez que se ejecuta la comparación.

    En general, la elección de la estrategia de optimización dependerá de los requisitos y restricciones específicos del proyecto. Pero alguna combinación de las sugerencias anteriores debería ayudar a acelerar significativamente el proceso de comparación.

Comments are closed.