Leer datos en archivos de Excel usando Python

MS Excel proporciona una forma conveniente de mantener y compartir datos en forma de filas y columnas. Más a menudo, los archivos de Excel se utilizan para almacenar grandes conjuntos de datos que tienen cientos y miles de registros. Mientras trabaja con archivos de Excel en Python, es posible que necesite leer datos de cada celda en las hojas de trabajo. Para lograrlo, este artículo muestra cómo leer un archivo de Excel en Python. Aprenderá a leer datos de una sola hoja de cálculo o de todas las hojas de cálculo de un libro de Excel.

Biblioteca de Python para leer archivos de Excel

Para leer datos de los libros de trabajo, usaremos Aspose.Cells for Python via Java. Es una biblioteca de Python potente y rica en funciones para crear archivos de MS Excel. Además, le permite leer y manipular archivos de Excel existentes sin problemas. Puede descargar la biblioteca o instalarla usando el siguiente comando pip.

pip install aspose-cells

Leer un archivo de Excel en Python

Antes de comenzar a leer los datos, tengamos una descripción general de cómo se administran los datos en un archivo de Excel. Un archivo de Excel se denomina Workbook que actúa como un contenedor. Cada Workbook contiene una o más hojas de trabajo y cada hoja de trabajo se compone de varias celdas. Estas celdas se identifican de forma única por las filas y las columnas. Entonces, para leer datos de una celda, necesita conocer su índice de fila y columna.

Los siguientes son los pasos para leer un archivo de Excel e imprimir sus datos en Python.

El siguiente ejemplo de código muestra cómo leer un archivo de Excel en Python.

# Load Excel workbook
wb = Workbook("workbook.xlsx")

# Get worksheets collection
collection = wb.getWorksheets()
collectionCount = collection.getCount()

# Loop through all the worksheets
for worksheetIndex in range(collectionCount):

    # Get worksheet using its index
    worksheet = collection.get(worksheetIndex)

    # Print worksheet name
    print("Worksheet: " + str(worksheet.getName()))

    # Get number of rows and columns
    rows = worksheet.getCells().getMaxDataRow()
    cols = worksheet.getCells().getMaxDataColumn()

    # Loop through rows
    for i in range(rows):

        # Loop through each column in selected row
        for j in range(cols):
            # Print cell value
            print(worksheet.getCells().get(i, j).getValue(), end =" | ")

        # Print line break
        print("\n")

El siguiente es el resultado que obtenemos después de ejecutar el ejemplo de código anterior.

Lectura de datos en las hojas de trabajo del archivo de Excel en Python

Leer un archivo de Excel en Python

Leer una hoja de trabajo particular en Excel en Python

También puede leer una hoja de trabajo en particular en el archivo de Excel siguiendo los pasos a continuación.

El siguiente ejemplo de código muestra cómo leer datos de una hoja de trabajo particular en Python.

# Load Excel workbook
wb = Workbook("workbook.xlsx")

# Get worksheets collection
worksheet = wb.getWorksheets().get(0)   

# Print worksheet name
print("Worksheet: " + str(worksheet.getName()))

# Get number of rows and columns
rows = worksheet.getCells().getMaxDataRow()
cols = worksheet.getCells().getMaxDataColumn()

# Loop through rows
for i in range(rows):

    # Loop through each column in selected row
    for j in range(cols):
        # print cell value
        print(worksheet.getCells().get(i, j).getValue(), end =" | ")

    # Print line break
    print("\n")

Obtenga una licencia de API gratuita

Puede usar Aspose.Cells for Python a través de Java sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a leer archivos de Excel en Python. Además, ha visto cómo leer datos de una hoja de cálculo en particular o de todas las hojas de cálculo de un libro de Excel. Puede explorar más sobre la biblioteca de hojas de cálculo de Python utilizando la documentación. En caso de que tenga alguna pregunta o consulta, no dude en hacérnosla saber a través de nuestro foro.

Ver también