Cómo leer archivos Excel en Python con IronXL

Chaknith Bin
Chaknith Bin
26 de mayo, 2019
Actualizado 20 de octubre, 2024
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

Esta guía proporciona a los desarrolladores de Python instrucciones paso a paso sobre cómo utilizar la biblioteca IronXL para leer y editar documentos de Microsoft Excel.

IronXL es una completa biblioteca de procesamiento de archivos Excel que soporta múltiples lenguajes de programación, incluidos los lenguajes de programación .NET y Python. Este tutorial se centra específicamente en el uso de IronXL en scripts de Python para leer y editar documentos de Microsoft Excel.

Para un tutorial separado sobre cómo leer y editar documentos de Microsoft Excel en aplicaciones .NET, consulte el siguiente enlace.

Leer y crear archivos Excel en Python es fácil utilizando la librería de software IronXL for Python.


Visión general


Tutorial

Paso 1: Agregue IronXL como dependencia en su proyecto Python

Para integrar la biblioteca IronXL en su proyecto de Python, debe instalarla como una dependencia utilizando el ampliamente utilizado gestor de paquetes de Python, pip. Abra el terminal y ejecute el siguiente comando:

 pip install IronXL

Esto instalará la versión especificada de IronXL en su proyecto, haciéndolo accesible para la importación.

[{i:(IronXL for Python se basa en la biblioteca IronXL .NET, específicamente .NET 6.0, como su tecnología subyacente. Por lo tanto, es necesario tener instalado en tu máquina el .NET 6.0 SDK para poder usar IronXL for Python.


2. Cargar un libro de Excel

La clase WorkBook representa una hoja de Excel. Para abrir un archivo de Excel, usamos el método WorkBook.Load, especificando la ruta del archivo de Excel.

# Load existing spreadsheet
workbook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
PYTHON

Cada WorkBook puede tener múltiples objetos WorkSheet. Cada uno de ellos representa una única hoja de cálculo del documento Excel. Utilice el método WorkBook.GetWorkSheet para obtener una referencia a una hoja de cálculo de Excel específica.

# Assuming workBook is an existing instance of WorkBook
workSheet = workBook.GetWorkSheet("GDPByCountry")
PYTHON

Creación de nuevos documentos Excel

Para crear un nuevo documento de Excel, construya un nuevo objeto WorkBook con un tipo de archivo válido.

# Create a new WorkBook with the specified Excel file format
workBook = WorkBook(ExcelFileFormat.XLSX)
PYTHON

Nota: Use ExcelFileFormat.XLS para soportar versiones antiguas de Microsoft Excel (95 y anteriores).

Añadir una hoja de cálculo a un documento Excel

Como se explicó anteriormente, un IronXL for Python WorkBook contiene una colección de una o más WorkSheets.

Así es como se ve un libro de trabajo con dos hojas en Excel.

Este es el aspecto de un libro con dos hojas de cálculo en Excel.

Para crear una nueva hoja de trabajo, llame a WorkBook.CreateWorkSheet con el nombre de la hoja de trabajo.

workSheet = workBook.CreateWorkSheet("GDPByCountry")
PYTHON

3. Acceder a los valores de las celdas

Leer y editar una celda individual

El acceso a los valores de las celdas individuales de la hoja de cálculo se realiza recuperando la celda deseada de su WorkSheet como se muestra a continuación:

# Load existing spreadsheet
workbook = WorkBook.Load("test.xlsx")
worksheet = workbook.DefaultWorkSheet

# Access cell B1 in the worksheet
cell = worksheet["B1"]
PYTHON

La clase Cell de IronXL for Python representa una celda individual en una hoja de cálculo de Excel. Contiene propiedades y métodos que permiten a los usuarios acceder y modificar directamente el valor de la celda.

Cada objeto WorkSheet gestiona un índice de objetos Cell que corresponde a cada valor de celda en una hoja de cálculo de Excel. En el código fuente anterior, hacemos referencia a la celda deseada por su índice de fila y columna (la celda B1 en este caso) utilizando la sintaxis estándar de indexación de arreglos.

Con una referencia al objeto Cell, podemos leer y escribir datos desde y hacia una celda de la hoja de cálculo:

# Access cell B1 in the worksheet
cell = workSheet["B1"]

# Read the value of the cell as a string
value = cell.StringValue
print(value)

# Write a new value to the cell
cell.Value = "10.3289"
print(cell.StringValue)
PYTHON

Leer y escribir un rango de valores de celda

La clase Range representa una colección bidimensional de objetos Cell. Esta colección se refiere a un rango literal de celdas de Excel. Obtenga rangos utilizando el indexador de cadenas en un objeto WorkSheet.

El texto del argumento es ya sea la coordenada de una celda (por ejemplo, "A1", como se mostró anteriormente) o un rango de celdas de izquierda a derecha de arriba a abajo (por ejemplo, "B2:E5"). También es posible llamar a GetRange en un WorkSheet.

# Access range D2:D101 in the worksheet
range_ = workSheet["D2:D101"]
PYTHON

Añadir una fórmula a una hoja de cálculo

Establezca la fórmula de los Cells con la propiedad Formula.

El siguiente código itera a través de cada estado y pone un porcentaje total en la columna C.

# Iterate through all rows with a value
for y in range(2, i):
    # Get the C cell
    cell = workSheet[f"C{y}"]
    # Set the formula for the Percentage of Total column
    cell.Formula = f"=B{y}/B{i}"
PYTHON

Resumen

IronXL.Excel es una librería independiente de Python para leer una amplia variedad de formatos de hojas de cálculo. No requiere que Microsoft Excel esté instalado y no depende de Interop.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.