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
- Leer datos de un archivo de Excel
- Leer una hoja de cálculo en 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.
- Cargue el archivo de Excel usando la clase Workbook.
- Obtenga la referencia de WorksheetCollection usando el método Workbook.getWorksheets().
- Recorra las hojas de trabajo en la colección y en cada iteración, realice los siguientes pasos:
- Obtenga la referencia de la hoja de trabajo en un objeto.
- Obtenga el recuento de filas y columnas de datos en la hoja de trabajo.
- Inicie un bucle para las filas.
- Inicie un bucle anidado para columnas.
- Lea los datos de cada celda usando el método Worksheet.getCells().get(rowIndex, columnIndex).getValue().
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.
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.
- Cargue el archivo de Excel usando la clase Workbook.
- Obtenga la referencia de la hoja de trabajo deseada usando el método Workbook.getWorksheets().get(index).
- Obtenga el recuento de filas y columnas de datos en la hoja de trabajo.
- Inicie un bucle para las filas.
- Inicie un bucle anidado para columnas.
- Lea los datos de cada celda usando el método Worksheet.getCells().get(rowIndex, columnIndex).getValue().
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.