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.

Leyendo múltiples hojas de cálculo de Excel y eliminando la última fila de cada hoja.

Mi programa lee un archivo de Excel que contiene varias hojas y las concatena. El problema es que la última fila al final de cada hoja es un total y no quiero esa fila. ¿Existe un argumento que elimine la última fila cuando leo las hojas? ¿Y necesitaré leer primero las hojas y eliminar esta última fila antes de ejecutar la función de concatenar para evitar eliminar las filas incorrectas? He intentado usar skipfooter = 0 y skipfooter = 1, pero esto arrojó un mensaje de error.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de eliminar la última fila al leer hojas de cálculo de Excel usando Pandas. Puede utilizar el parámetro skipfooter para omitir un cierto número de filas desde el final de cada hoja al leerlas. Sin embargo, parece que ya has intentado esto y no funcionó.

    En este caso, puedes intentar leer las hojas de Excel sin omitir el pie de página y luego eliminar la última fila utilizando la función .iloc antes de concatenarlas. Por ejemplo, puedes usar el siguiente código:

    import pandas as pd
    
    # Lee la hoja de Excel
    df1 = pd.read_excel('ejemplo.xlsx', sheet_name='Hoja1', skiprows=None)
    
    # Elimina la última fila
    df1 = df1.iloc[:-1]
    
    # Lee otra hoja
    df2 = pd.read_excel('ejemplo.xlsx', sheet_name='Hoja2', skiprows=None)
    
    # Elimina la última fila
    df2 = df2.iloc[:-1]
    
    # Concatena las dos hojas
    df_concat = pd.concat([df1, df2], axis=0)
    

    De esta manera, estás leyendo cada hoja sin omitir el pie de página y luego eliminando la última fila antes de concatenarlas. Asegúrate de ajustar los nombres de las hojas y la ruta del archivo en el código para que coincida con tu propio archivo.

Comments are closed.