Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

375
Visualizações
Iterando sobre el marco de datos de pandas y guardando en hojas separadas en un archivo xlxs

Estoy iterando sobre un marco de datos de pandas durante y realizo una operación para obtener la información (número de hoja de Excel) para guardar la hoja de Excel apropiada como esta:

 from opnepyxl.utils.dataframe import dataframe_to_rows for i,data in df.iterows: sheet=data['SheetNo'] #Create excel writer writer=pd.Excelwriter('output.xlxs') # write dataframe to excelsheet data.to_excel(writer, sheet) #save the excel file writer.save()

Marco de datos:

 ID SheetNo setting 2304 2 IGV5 2305 3 IGV2 2306 1 IGV6 2307 2 IGV2 2308 1 IGV1

Lo que quería era que los datos entraran en cada uno de los 'Número de hoja' creados del archivo de Excel, en cambio, la hoja anterior se sobrescribe con la siguiente, y solo puede ver el último número de hoja.

¿Qué puedo hacer para que este código funcione? Cualquier otro enfoque aparte del mío anterior será bienvenido.

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

el código de python está debajo. Tenga en cuenta que:

  1. Se supone que ya hay un archivo output.xlsx en el mismo directorio que ejecuta este código
  2. Buscará nombres de hojas de trabajo con la columna SheetNo . Si no está disponible en el archivo, creará una nueva hoja de trabajo/pestaña con ese nombre y agregará la fila de encabezado 3. El programa luego agregará cada fila (adjuntará) a la hoja
  3. Una vez que se agreguen todos los datos en DF, se guardará el archivo con el mismo nombre
  4. Puede ejecutar esto tantas veces como desee, seguirá agregando hojas nuevas o agregando hojas existentes.
 import pandas as pd from openpyxl import load_workbook data = {'ID': [2304,2305,2306,2307,2308], 'SheetNo': [2,3,1,2,1], 'setting': ['IGV5', 'IGV2', 'IGV6', 'IGV2', 'IGV1']} df = pd.DataFrame(data) headers = ['ID','SheetNo','setting'] FilePath = 'output.xlsx' #ASSUMPTON - File already exists wb = load_workbook(FilePath) for sheet in df.SheetNo.unique(): if str(sheet) in wb.sheetnames: #If sheet in excel file ws = wb[str(sheet)] else: ws = wb.create_sheet(title=str(sheet)) #Create New sheet is not present ws.append(headers) #New sheet = Need header, else not required i =0 j = 0 for row in ws.iter_rows(min_row=ws.max_row+1, max_row=ws.max_row+len(df[df.SheetNo == sheet]), min_col=1, max_col=3): for cell in row: cell.value = df[df.SheetNo == sheet].iloc[i,j] j = j + 1 j=0 i= i + 1 wb.save('output.xlsx')

Salida de Excel después de una ejecución del código

ingrese la descripción de la imagen aquí

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda