Combinar celdas con Python y openpyxl

El día de hoy veremos cómo combinar celdas con Python usando el módulo openpyxl. Te dejo el enlace a la entrada Trabajar con archivos de Excel en Python con openpyxl por si quieres ver una rápida introducción al módulo.

Vamos a comenzar importando el módulo que requerimos y creando un libro con el que trabajaremos.

from openpyxl import Workbook

libro = Workbook()

El primer bloque de celdas que uniremos estará formado por las celdas A1, A2 y A3. Primero seleccionamos un hoja y luego usaremos merge_cells para hacer el bloque.

hoja = libro.active
bloque = hoja.merge_cells('A1:A3')

Vamos a guardar el libro para poder ver si el bloque se formó correctamente. Recuerda que el archivo se creará en la ruta en la que te encontrabas cuando abriste el interprete a menos de que especifiques la ruta en donde se debe guardar.

libro.save('demoCombinar.xlsx')

Busca el archivo y ábrelo, verás el bloque de celdas formado por A1, A2 y A3.

Combinar celdas con Python y openpyxl - Bloque 1

Ahora vamos a crear otro bloque formado por celdas con valores en ellas para ver cual es el comportamiento. Empecemos ingresando valores. Recuerda cerrar el archivo antes de hacer cualquier modificación.

hoja["B1"] = "Lado 1"
hoja["B2"] = 50
hoja["C1"] = "Lado 2"
hoja["C2"] = 100
libro.save('demoCombinar.xlsx')

Una vez guardados los cambios en el libro, vuelve a abrirlo y verifica que las celdas tengan valores.

Combinar celdas con Python y openpyxl - Valores en celdas

Cierra el libro y crea el segundo bloque formado por las celdas con valores.

bloque2 = hoja.merge_cells('B1:C2')
libro.save('demoCombinar.xlsx')

Abre nuevamente el libro y ve el resultado al crear el segundo bloque. Notarás que el valor que tiene el bloque es el que tenia la celda superior izquierda del grupo de celdas que paso a formar el bloque.

Combinar celdas con Python y openpyxl - Bloque 2

Hasta aquí la enteada de hoy sobre cómo combinar un bloque de celdas con Python usando el módulo openpyxl. Cuéntame, ¿qué te ha parecido esta entrada?

¡No olvides suscribirte a nuestro boletín!

¡No enviamos spam! Lee más en nuestra política de privacidad