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.

PANDAS desde un bucle, imprime un archivo de Excel con varias hojas

Tengo este problema.

for excel in excel_folder:
    ...
    ...
    writer = pd.ExcelWriter(n, engine='xlsxwriter')
    pe_df_1.to_excel(writer, index=False, sheet_name='Sheet1')
    writer.save()
    writer = pd.ExcelWriter(c, engine='xlsxwriter')
    pe_df_2.to_excel(writer, index=False, sheet_name='Sheet1')
    writer.save()
    writer = pd.ExcelWriter(g, engine='xlsxwriter')
    pe_df_3.to_excel(writer, index=False, sheet_name='Sheet1')
    writer.save()

Con esta forma, creo muchos nuevos archivos de Excel con una hoja.

El problema es:
¿Cómo puedo hacer un nuevo archivo de Excel con muchas hojas? El nombre de cada hoja debe ser el mismo que el nombre de cada archivo de Excel.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para crear un archivo de Excel nuevo con varias hojas, puedes crear un objeto escritor de Excel de Pandas con el nombre de archivo deseado, y luego escribir cada hoja en el mismo archivo utilizando el método to_excel() con el parámetro sheet_name configurado con el nombre deseado. Aquí tienes un ejemplo:

    import pandas as pd
    
    # Inicializa el objeto escritor de Excel de Pandas con el nombre de archivo deseado
    excel_file = pd.ExcelWriter('archivo_excel_combinado.xlsx', engine='xlsxwriter')
    
    for excel in excel_folder:
        # Carga los datos en los dataframes pe_df_1, pe_df_2, pe_df_3
        # ...
    
        # Escribe cada dataframe en el mismo archivo de Excel con el nombre de hoja deseado
        pe_df_1.to_excel(excel_file, sheet_name=excel)
        pe_df_2.to_excel(excel_file, sheet_name=excel)
        pe_df_3.to_excel(excel_file, sheet_name=excel)
    
    # Guarda el archivo de Excel
    excel_file.save()
    

    En el ejemplo, se utiliza el método pd.ExcelWriter() para crear un objeto escritor de Excel con el nombre de archivo 'archivo_excel_combinado.xlsx'. Dentro del bucle for, cada dataframe se escribe en el mismo archivo de Excel utilizando el método to_excel() con el parámetro sheet_name configurado con el valor de excel, que es el nombre de cada archivo de Excel. Finalmente, se llama al método save() en el objeto escritor de Excel para guardar el archivo.

Comments are closed.