Cómo leer archivos Excel en Python con IronXL
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
Cómo leer archivos Excel en Python
- Descargar la biblioteca Python para leer archivos Excel
- Cargar y leer un archivo Excel (libro)
- Crear un libro de Excel en CSV o XLSX
- Editar valores de celda en un rango de celdas
- Validar los datos de la hoja de cálculo
- Exportación de datos mediante Entity Framework
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")
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")
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)
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 WorkSheet
s.
Para crear una nueva hoja de trabajo, llame a WorkBook.CreateWorkSheet
con el nombre de la hoja de trabajo.
workSheet = workBook.CreateWorkSheet("GDPByCountry")
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"]
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)
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"]
Añadir una fórmula a una hoja de cálculo
Establezca la fórmula de los Cell
s 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}"
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.