es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

openpyxl añadiendo hojas del archivo anterior al siguiente archivo de una lista de archivos.

¿Alguien sabe por qué obtengo las hojas 1, 2 y 3 en el archivo 2 cuando solo deberían ser las hojas 4 y 5?
Además, ¿por qué siempre hay una hoja en blanco no inicializada en cada archivo que creo usando el script que se muestra a continuación?

Lo que estoy intentando hacer es tener el archivo 1 con las hojas 1, 2 y 3 y el archivo 2 con las hojas 4 y 5 SOLAMENTE.
El archivo 1 se genera bien, el problema es el archivo 2 ya que obtengo las hojas 4 y 5 Y 1, 2 y 3. También estoy obteniendo hojas en blanco no inicializadas en el script que se muestra a continuación por alguna razón, si alguien puede ayudarme, se lo agradecería mucho. ¡Gracias de antemano!

import openpyxl

wb = openpyxl.Workbook()

lst1=["archivo1","archivo1","archivo1","archivo2","archivo2"]
lst2=["hoja1","hoja2","hoja3","hoja4","hoja5"]
lst3=["a","b","c","d","e"]

for i in range(5):
    hoja=wb.create_sheet(lst2[i])
    hoja.cell(row = 1, column = 1).value=lst3[i]
    wb.save(lst1[i]+".xlsx")
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema es que no estás eliminando las hojas del libro antes de guardarlo. Puedes eliminar las hojas del libro utilizando el comando wb.remove(sheet). Además, puedes evitar la creación de la hoja en blanco no inicializada agregando el comando wb.remove(wb.active) antes del ciclo.

Comments are closed.