Tabla de contenido
Instalar con Pip
pip install Spire.XLS
enlaces relacionados
Los archivos de Excel (hojas de cálculo) son utilizados por personas de todo el mundo para organizar, analizar y almacenar datos tabulares. Debido a su popularidad, los desarrolladores frecuentemente se encuentran con situaciones en las que necesitan extraer datos de Excel o crear informes en formato Excel. Siendo capaz de leer archivos de Excel con Python abre un amplio conjunto de posibilidades para el procesamiento y la automatización de datos. En este artículo, aprenderá cómo leer datos (texto o valores numéricos) de una celda, un rango de celdas o una hoja de trabajo completa utilizando la biblioteca Spire.XLS for Python.
- Leer datos de una celda particular en Python
- Leer datos de un rango de celdas en Python
- Leer datos de una hoja de cálculo de Excel en Python
- Leer valor en lugar de fórmula en una celda en Python
Biblioteca Python para leer Excel
Spire.XLS for Python es una biblioteca Python confiable de nivel empresarial para crear, escribir, leer y editando excel documentos (XLS, XLSX, XLSB, XLSM, ODS) en una aplicación Python. Proporciona un conjunto completo de interfaces, clases y propiedades que permiten a los programadores leer y escribir sobresalir archivos con facilidad. Específicamente, se puede acceder a una celda de un libro mediante la propiedad Worksheet.Range y se puede obtener el valor de la celda mediante la propiedad CellRange.Value.
La biblioteca es fácil de instalar ejecutando el siguiente comando pip. Si desea importar manualmente las dependencias necesarias, consulte Cómo instalar Spire.XLS for Python en VS Code
pip install Spire.XLS
Clases y propiedades en Spire.XLS para la API de Python
- Clase de libro de trabajo: representa un modelo de libro de trabajo de Excel, que puede usar para crear un libro de trabajo desde cero o cargar un documento de Excel existente y realizar modificaciones en él.
- Clase de hoja de trabajo: representa una hoja de trabajo en un libro de trabajo.
- Clase CellRange: representa una celda específica o un rango de celdas en un libro.
- Propiedad Worksheet.Range: obtiene una celda o un rango y devuelve un objeto de la clase CellRange.
- Propiedad Worksheet.AllocatedRange: obtiene el rango de celdas que contiene datos y devuelve un objeto de la clase CellRange.
- Propiedad CellRange.Value: obtiene el valor numérico o el valor de texto de una celda. Pero si una celda tiene una fórmula, esta propiedad devuelve la fórmula en lugar del resultado de la fórmula.
Leer datos de una celda particular en Python
Con Spire.XLS for Python, puede obtener fácilmente el valor de una determinada celda utilizando la propiedad CellRange.Value. Los pasos para leer datos de una celda particular de Excel en Python son los siguientes.
- Crear instancias de la clase de libro de trabajo
- Cargue un documento de Excel utilizando el método LoadFromFile.
- Obtenga una hoja de trabajo específica usando la propiedad Workbook.Worksheets[index].
- Obtenga una celda específica usando la propiedad Worksheet.Range.
- Obtenga el valor de la celda usando la propiedad CellRange.Value
- Python
from spire.xls import * from spire.xls.common import * # Create a Workbook object wb = Workbook() # Load an Excel file wb.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Data.xlsx"); # Get a specific worksheet sheet = wb.Worksheets[0] # Get a specific cell certainCell = sheet.Range["D9"] # Get the value of the cell print("D9 has the value: " + certainCell.Value)
Leer datos de un rango de celdas en Python
Ya sabemos cómo obtener el valor de una celda, para obtener los valores de un rango de celdas, como ciertas filas o columnas, solo necesitamos usar declaraciones de bucle para recorrer las celdas y luego extraerlas una por una. Los pasos para leer datos de un rango de celdas de Excel en Python son los siguientes.
- Crear instancias de la clase de libro de trabajo
- Cargue un documento de Excel utilizando el método LoadFromFile.
- Obtenga una hoja de trabajo específica usando la propiedad Workbook.Worksheets[index].
- Obtenga un rango de celdas específico usando la propiedad Worksheet.Range.
- Utilice declaraciones de bucle for para recuperar cada celda del rango y obtener el valor de una celda específica utilizando la propiedad CellRange.Value
- Python
from spire.xls import * from spire.xls.common import * # Create a Workbook object wb = Workbook() # Load an existing Excel file wb.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Data.xlsx"); # Get a specific worksheet sheet = wb.Worksheets[0] # Get a cell range cellRange = sheet.Range["A2:H5"] # Iterate through the rows for i in range(len(cellRange.Rows)): # Iterate through the columns for j in range(len(cellRange.Rows[i].Columns)): # Get data of a specific cell print(cellRange[i + 2, j + 1].Value + " ", end='') print("")
Leer datos de una hoja de cálculo de Excel en Python
Spire.XLS for Python ofrece la propiedad Worksheet.AllocatedRange para obtener automáticamente el rango de celdas que contiene datos de una hoja de trabajo. Luego, recorremos las celdas dentro del rango de celdas en lugar de toda la hoja de trabajo y recuperamos los valores de las celdas uno por uno. Los siguientes son los pasos para leer datos de una hoja de cálculo de Excel en Python.
- Crear instancias de la clase de libro de trabajo.
- Cargue un documento de Excel utilizando el método LoadFromFile.
- Obtenga una hoja de trabajo específica usando la propiedad Workbook.Worksheets[index].
- Obtenga el rango de celdas que contiene datos de la hoja de trabajo usando la propiedad Worksheet.AllocatedRange.
- Utilice declaraciones de bucle for para recuperar cada celda del rango y obtener el valor de una celda específica utilizando la propiedad CellRange.Value.
- Python
from spire.xls import * from spire.xls.common import * # Create a Workbook object wb = Workbook() # Load an existing Excel file wb.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Data.xlsx"); # Get the first worksheet sheet = wb.Worksheets[0] # Get the cell range containing data locatedRange = sheet.AllocatedRange # Iterate through the rows for i in range(len(sheet.Rows)): # Iterate through the columns for j in range(len(locatedRange.Rows[i].Columns)): # Get data of a specific cell print(locatedRange[i + 1, j + 1].Value + " ", end='') print("")
Leer valor en lugar de fórmula en una celda en Python
Como se mencionó anteriormente, cuando una celda contiene una fórmula, la propiedad CellRange.Value devuelve la fórmula en sí, no el valor de la fórmula. Si queremos obtener el valor, debemos usar el método str(CellRange.FormulaValue). Los siguientes son los pasos para leer un valor en lugar de una fórmula en una celda de Excel en Python.
- Crear instancias de la clase de libro de trabajo.
- Cargue un documento de Excel utilizando el método LoadFromFile.
- Obtenga una hoja de trabajo específica usando la propiedad Workbook.Worksheets[index].
- Obtenga una celda específica usando la propiedad Worksheet.Range.
- Determine si la celda tiene fórmula usando la propiedad CellRange.HasFormula.
- Obtenga el valor de la fórmula de la celda usando el método str(CellRange.FormulaValue).
- Python
from spire.xls import * from spire.xls.common import * # Create a Workbook object wb = Workbook() # Load an Excel file wb.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Formula.xlsx"); # Get a specific worksheet sheet = wb.Worksheets[0] # Get a specific cell certainCell = sheet.Range["D4"] # Determine if the cell has formula if(certainCell.HasFormula): # Get the formula value of the cell print(str(certainCell.FormulaValue))
Conclusión
En esta publicación de blog, aprendimos cómo leer datos de celdas, regiones de celdas y hojas de trabajo en Python con la ayuda de Spire.XLS para la API de Python. También discutimos cómo determinar si una celda tiene una fórmula y cómo obtener el valor de la fórmula. Esta biblioteca admite la extracción de muchos otros elementos en Excel, como imágenes, hipervínculos y objetos OEL. Consulte nuestra documentación en línea para obtener más tutoriales. Si tiene alguna pregunta, comuníquese con nosotros por correo electrónico o en el foro.