python:excel
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| python:excel [2022/04/09 02:03] – [Estilo de celdas] alberto | python:excel [2022/04/27 13:05] (actual) – [Extraer filas y columnas de la hoja] alberto | ||
|---|---|---|---|
| Línea 89: | Línea 89: | ||
| </ | </ | ||
| + | ==== Extraer valores ==== | ||
| + | Como hemos visto hasta ahora, la única forma de extraer valores, es con el atributo **value** de una celda (objeto tipo cell). Vamos a ver otra forma de extraer valores en masa.\\ | ||
| + | |||
| + | Para extraer valores, usamos la propiedad **values** de la hoja, de modo que podemos por ejemplo asignar a una "lista de listas" | ||
| + | <code python> | ||
| + | datos = list(hoja.values) | ||
| + | </ | ||
| + | |||
| + | <code python> | ||
| + | for fila in hoja.values: | ||
| + | for valor in fila: | ||
| + | print(valor) | ||
| + | </ | ||
| + | |||
| + | Para obtener los valores de filas o columnas, se pueden usar los métodos **iter_rows()** y **iter_cols()** respectivamente, | ||
| + | |||
| + | <code python> | ||
| + | for row in ws.iter_rows(min_row=1, | ||
| + | print(row) | ||
| + | </ | ||
| ===== Escritura en documentos EXCEL ===== | ===== Escritura en documentos EXCEL ===== | ||
| ==== Creación y guardado de documentos EXCEL ==== | ==== Creación y guardado de documentos EXCEL ==== | ||
| Línea 122: | Línea 142: | ||
| - | ===== Fuentes ===== | + | ===== Fuentes |
| + | Para fijar las fuentes de las celdas debemos importar la librería adecuada: <code python> | ||
| - | ===== Formulas ===== | + | Para definir un tipo de fuente se utiliza la función **Font()**, que devuelve un objeto de tipo Font que puede ser asignado a una celda.\\ |
| + | Font admite los siguientes argumentos: | ||
| + | * **name** String, nombre de la fuente, como ' | ||
| + | * **size** Integer, los puntos que definen el tamaño. | ||
| + | * **bold** Boolean, si es negrita. | ||
| + | * **italic** Boolean, si es cursiva. | ||
| + | |||
| + | Para asignar el tipo de celda, se asigna la variable tipo Font al atributo **.font** de la celda. | ||
| + | ===== Fórmulas ===== | ||
| + | Es tan sencillo como escribir la fórmua como una cadena de texto en la celda correspondiente. | ||
| + | Sin embargo, las fórmulas de Excel pueden llegar a ser muy complejas, y puede ser más sencillo usar Python, | ||
| ===== Ajuste de filas y columnas ===== | ===== Ajuste de filas y columnas ===== | ||
| ==== Altura de fila y ancho de columna ==== | ==== Altura de fila y ancho de columna ==== | ||
| + | Los objetos tipo hoja // | ||
| + | * hoja.**row_dimensions[nºFila].height** = tamaño en puntos del alto de fila. Comprendido entre 0 y 409 (el normal es 12.75). | ||
| + | * hoja.**column_dimensions[' | ||
| - | ==== Márgenes | + | Cualquiera que tenga tamaño 0, se oculta. |
| + | ==== Combinación | ||
| + | Consiste en la fusión de varias celdas en una sola, o en la división de una celda en más.\\ | ||
| - | ==== Inmovilizando | + | Para combinar |
| + | |||
| + | Para " | ||
| + | ==== Inmovilizando celdas ==== | ||
| + | Las hojas tienen el atributo nombreHoja.**freeze_panes**, | ||
| + | * Si su valor es ' | ||
| + | * Si su valor es cualquier otra celda de la primera fila, las celdas inmovilizadas serán las columnas que queden a la izquierda. | ||
| + | * En caso contrario, las celdas inmovilizadas serán las filas que queden por encima, y las columas situadas a su izquierda. | ||
| ===== Gráficas ===== | ===== Gráficas ===== | ||
| + | Procespo para crear gráficas: | ||
| + | - Crear un objeto de tipo // | ||
| + | - La hoja en la que estamos trabajando en un dato de tipo // | ||
| + | - Una tupla de dos enteros que definenla celda superior izquierda, empezando en 1. Pueden cambiarse definiendo los argumentos opcionales min_col y min_row. | ||
| + | - Una tupla de dos enteros que definenla celda inferior derecha, empezando en 1. Pueden cambiarse definiendo los argumentos opcionales max_col y max_row. | ||
| + | - Crear un objeto de tipo //Series// pasando el objeto // | ||
| + | - Crear un objeto tipo //Chart// con la función: chartObj = **openpyxl.chart.BarChart()**. A este objeto se le puede añadir un título con el atributo **.title**. | ||
| + | - Añadir al objeto //Chart// los datos, en el objeto // | ||
| + | - Añadir el gráfico a la hoja definiendo la celda correspondiente con la esquina superior izquiera, usando la función: sheet.**add_chart(chartObj, | ||
| + | |||
| + | No olvidar guardar la hoja. | ||
| + | |||
python/excel.1649462587.txt.gz · Última modificación: por alberto
