Herramientas de usuario

Herramientas del sitio


python:excel

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
python:excel [2022/04/09 02:33] – [Altura de fila y ancho de columna] albertopython:excel [2022/04/27 13:05] (actual) – [Extraer filas y columnas de la hoja] alberto
Línea 89: Línea 89:
 </code> </code>
  
 +==== 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" todos los valores de la hoja, o recorrer con un for una hoja Excel accediendo directamente a sus valores:
 +<code python>
 +datos = list(hoja.values)
 +</code>
 +
 +<code python>
 +for fila in hoja.values:
 +    for valor in fila:
 +        print(valor)
 +</code>
 +
 +Para obtener los valores de filas o columnas, se pueden usar los métodos **iter_rows()** y **iter_cols()** respectivamente, con el atributo **values_only=True**.
 +
 +<code python>
 +for row in ws.iter_rows(min_row=1, max_col=3, max_row=2, values_only=True):
 +    print(row)
 +</code>
 ===== Escritura en documentos EXCEL ===== ===== Escritura en documentos EXCEL =====
 ==== Creación y guardado de documentos EXCEL ==== ==== Creación y guardado de documentos EXCEL ====
Línea 145: Línea 165:
  
 Cualquiera que tenga tamaño 0, se oculta. Cualquiera que tenga tamaño 0, se oculta.
-==== Márgenes de celdas ====+==== Combinación de celdas ==== 
 +Consiste en la fusión de varias celdas en una sola, o en la división de una celda en más.\\
  
-==== Inmovilizando celdas ====+Para combinar celdas se llama al método hoja.**merge_cells(**'CeldaOrigen:CeldaFin'**)**.
  
 +
 +Para "descombinar" celdas se llama al método hoja.**unmerge_cells(**'CeldaOrigen:CeldaFin'**)**. Las Celdas indicadas vuelven a mostrarse individuales.
 +==== Inmovilizando celdas ====
 +Las hojas tienen el atributo nombreHoja.**freeze_panes**, en el cual se especifica la celda que servirá de vértice para la inmovilización de paneles.\\
 +  * Si su valor es 'A1' o None, no habrá celdas inmovilizadas.
 +  * 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 //Reference// a partir de una selección rectangular de celdas, donde se encuentran los datos de la gráfica. El objeto //Reference// se crea con el método **openpyxl.chart.Reference()**, a la que se le pasan 3 argumentos:
 +    - La hoja en la que estamos trabajando en un dato de tipo //Worksheet//.
 +    - 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 //Reference//, con la función seriesObj = **openpyxl.chart.Series(**refObj**,** title='First series'**)**
 +  - 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 //Series//:  **chartObj.append(seriesObj)**.
 +  - 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, 'C5')**.
 +
 +No olvidar guardar la hoja.
 +
python/excel.1649464416.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki