Curso sobre como trabajar con hojas de cálculo (Excel, Calc) usando openpyxl en Python (III)

Índice:

Después de ver un poco como eran los libros ahora nos vamos a centrar en las hojas o pestañas, que es donde se recogen los datos, fórmulas, gráficos, enlaces,…

Empezamos importando cosas que usaremos en este capítulo:

Vamos a empezar creando un notebook con algunos datos:

Hemos insertado 100 filas y 12 columnas donde el valor de cada celda en la primera columna es A1, A2, …, A100, en la segunda columna es B1, B2, …, B100,…

Si guardamos el notebook y lo abrimos podemos ver cómo queda:

Resultado del workbook generado con el código anterior.

Antes de seguir vamos a ver las cosas que tiene una hoja o pestaña:

Lo anterior mostrará:

Como podéis ver tenemos muchas más cosas que con un Workbook ya que aquí es donde realmente se tiene información de datos, no solo metainformación, como en el libro.

Modificando propiedades generales de la hoja

Podemos modificar la hoja para definir el ancho de la columna, el valor por defecto de ancho, al altura de la fila,…

Lo anterior mostrará:

Modificamos algunas cosas:

Guardamos y visualizamos:

También tenemos una serie de propiedades. La mayoría de las cuales no sé muy bien para qué funcionan. Una referencia aquí. Por ejemplo, vamos a cambiar el color del lugar donde se visualiza la hoja o pestaña:

Lo anterior nos muestra:

Como anteriormente, guardamos y visualizamos:

Tab con color cambiado.

Podemos hacer que la hoja aparezca oculta o visible:

Si el libro solo tiene una hoja esta no podrá ser invisible por lo que para que no dé error, en el caso de que queramos ocultarla, deberíamos tener dos o más hojas en el libro.

Lo anterior, como hemos comentado, dará un error:

Le añadimos una hora, lo guardamos y lo abrimos:

Hola oculta

La volvemos a dejar visible:

Podemos controlar como queremos que se vea la hoja. Si queremos que se vean las fórmulas o los valores obtenidos al aplicar la fórmula, si queremos que se vea el cabecero con el nombre de las columnas (A, B, C, D,…), podemos indicar si queremos que se vea el grid, si queremos cambiar el color del grid,… Toqueteamos un poco para ver esto en acción:

Lo anterior mostrará:

Si lo abrís veréis que la celda seleccionada es la B3.

Algunas utilidades

Para conocer el rango de celdas usadas en la hoja:

Lo anterior devolverá 'A1:L100'.

Podemos colocar una imagen donde queramos. Vamos a crear una con matplotlib y la vamos a añadir a la hoja (necesitaremos installar pillow):

Y lo guardamos y visualizamos:

Worksheet con imagen.

Podemos ocultar filas y/o columnas:

Guardamos y visualizamos:

Celdas ocultas.

Como veis en la anterior figura no se ven varias columnas y filas. Para volverlo a dejar como estaba podéis hacer:

Podemos desplazar las celdas de la siguiente forma:

Indicamos el rango de celdas que queremos mover y después indicamos el número de filas y/o columnas hasta donde lo queremos desplazar.

El resultado debajo donde se ve que hemos desplazado todas las celdas una columna y una fila hacia abajo y hacia la derecha, respectivamente:

Celdas desplazadas.

Podemos unir celdas. En este caso voy a unir las celdas B1 a M1 para poner un cabecero a esas celdas:

Indicamos desde donde hasta donde queremos unir.

[recordad que empezamos a contar por 1 y no por 0].

[CUIDADO: Al unir celdas se perderá el valor de todas menos la primera que será la que se use para las celdas unidas. Estos valores no se pueden volver a recuperar].

Si guardamos y abrimos el documento:

Celdas unidas.

Vemos las celdas unidas con el texto ‘Cabecero’.

También podemos añadir/eliminar filas y/o columnas con los métodos:

  • insert_rows: añade filas.
  • insert_cols: añade columnas.
  • delete_rows: elimina filas.
  • delete_cols: elimina columnas.

Vamos a eliminar, por ejemplo, la columna D, que actualmente contiene los valores (C1, C2, C3,..):

En el método hemos indicado desde qué columna (por su índice empezando por 1) y cuantas queremos eliminar en cantidad.

Guardamos y visualizamos:

Columna eliminada.

Resumiendo

Vemos que la hoja nos permite hacer muchas más cosas que el libro, lo cual tiene todo el sentido del mundo. Hemos aprendido a hacer las cosas para manejar nuestros datos dentro de una hoja, hemos visto como pegar imágenes, mover celdas, eliminar columnas, unir celdas,… Estamos listos para ver una unidad más pequeña del rompecabezas, la celda.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

eight + 2 =