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")
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 comandowb.remove(wb.active)
antes del ciclo.