Introducir datos en una celda con Python y openpyxl

Hoy veremos cómo introducir datos en una celda de un archivo de Excel usando Python y el módulo openpyxl. Recuerda que este módulo debe ser instalado previamente, te dejo el enlace de la entrada Trabajar con archivos de Excel en Python con openpyxl en donde se ve la instalación del módulo y una introducción a lo que se puede hacer con él.

Empecemos creando el libro de Excel con el que vamos a trabajar. En esta ocasión solo necesitamos de la clase Workbook para crear el libro, usaremos las siguientes líneas:

from openpyxl import Workbook
libro = Workbook()

El libro se crea en memoria, tendremos el archivo hasta que lo guardemos. Ahora vamos a seleccionar la hoja activa, esto se logra con la propiedad active. La asignaremos a una variable para poder referirnos a ella con facilidad mas adelante.

hoja = libro.active
print(hoja)

>>> hoja = libro.active
>>> print(hoja)
<Worksheet «Sheet»>

Al imprimir la variable notamos que incluye la palabra «Sheet», por defecto, al crear un libro la primera hoja que se crea se llama «Sheet». La hoja también se crea en memoria y no contiene celdas, estas se van añadiendo mientras vamos accediendo a ellas. Para ello debemos hacer referencia de la fila y columna. La celda se puede relacionar a una variable para facilitar su uso posterior. Lo mismo podemos hacer con un rango de celdas.

celda = hoja["A1"]
print(celda)
rango = hoja["A2:C3"]
print(rango)

>>> celda = hoja[«A1»]
>>> print(celda)
<Cell ‘Sheet’.A1>
>>> rango = hoja[«A2:C3»]
>>> print(rango)
((<Cell ‘Sheet’.A2>, <Cell ‘Sheet’.B2>, <Cell ‘Sheet’.C2>), ( <Cell ‘Sheet’.A3>, <Cell ‘Sheet’.B3>, <Cell ‘Sheet’.C3>))

Al imprimir la variable podemos ver el nombre de la hoja y la celda con la que esta relacionada. Ya que hemos seleccionado una celda podemos asignarle un valor y lo podemos verificar con la propiedad value.

hoja["A1"] = 4
print(celda.value)
hoja["A3"] = "Hola"
print(hoja["A3"].value)

>>> hoja[«A1»] = 4
>>> print(celda.value)
4
>>> hoja[«A3»] = «Hola»
>>> print(hoja[«A3»].value)
Hola

Los dos pasos anteriores se pueden hacer utilizando el método Worksheet.cell(). Este nos permite seleccionar la celda mediante la fila y columna así como asignarle un valor y poder referenciarla a una variable, todo en una sola línea.

celda3 = hoja.cell(row=1, column=2, value=8)
print(celda3)
print(celda3.value)

>>> celda3 = hoja.cell(row=1, column=2, value=8)
>>> print(celda3)
<Cell ‘Sheet’.B1>
>>> print(celda3.value)
8

Para conservar todas las modificaciones que hemos creado, no te olvides de guardar tu libro.

libro.save('demo.xlsx')

Hasta aquí esta entrada sobre cómo introducir datos en una celda de un archivo de Excel usando Python y el módulo openpyxl. Si lo que quieres es modificar valores de algún archivo que ya tengas, te recomiendo darte una vuelta por la entrada Abrir un archivo de Excel en Python con openpyxl para que abras el archivo con el que quieras trabajar desde un inicio.

Cuéntame, ¿qué te ha parecido esta entrada? Déjame en los comentarios cómo te fue modificando tus archivos.

¡No olvides suscribirte a nuestro boletín!

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

1 comentario en «Introducir datos en una celda con Python y openpyxl»

Los comentarios están cerrados.