Python Leer Archivo Excel Tutorial
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 compatible con varios lenguajes de programación, entre los que se incluyen .NET y Python lenguajes de programación. Este tutorial se centra específicamente en el uso de IronXL en scripts de Python para leer y editar documentos de Microsoft Excel.
Si desea consultar otro tutorial sobre cómo leer y editar documentos de Microsoft Excel en aplicaciones .NET, consulte lo siguiente aquí.
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 Python, debe instalarla como dependencia utilizando la herramienta de gestión 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.
Atención
2. Cargar un libro de Excel
La clase WorkBook
representa una hoja Excel. Para abrir un fichero Excel, utilizamos el método WorkBook.Load
, especificando la ruta del fichero 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 recuperar una referencia a una hoja 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 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: Utilice ExcelFileFormat.XLS
para las versiones anteriores de Microsoft Excel. (95 y anteriores).
Añadir una hoja de cálculo a un documento Excel
Como se explicó anteriormente, un WorkBook
de IronXL for Python 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 Hoja de Trabajo
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"]
IronXL para la clase Cell
de Python representa una celda individual en una hoja de cálculo 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
correspondientes a cada valor de celda de 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 (celda B1 en este caso) utilizando la sintaxis estándar de indexación de matrices.
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. Obtener rangos utilizando el indexador de cadenas en un objeto WorkSheet
.
El argumento texto es la coordenada de una celda (por ejemplo, "A1", como se ha mostrado anteriormente) o un tramo de celdas de izquierda a derecha de arriba a abajo (Por ejemplo, "B2:E5".). También es posible llamar a GetRange
en una WorkSheet
.
# Access range D2:D101 in the worksheet
range_ = workSheet["D2:D101"]
Añadir una fórmula a una hoja de cálculo
Establece la fórmula de las Celdas
con la propiedad Fórmula
.
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 Microsoft Excel y no depende de Interop.