import gradio as gr import pandas as pd def create_interface(process_fn): with gr.Blocks() as demo: gr.Markdown("# Interfaz de Usuario para el Procesamiento de Datos de Bioproceso") # **Inputs de Archivo y Parámetros** file_input = gr.File(label="Subir archivo Excel con los datos", file_types=[".xls", ".xlsx"]) # Botón para Procesar process_button = gr.Button("Procesar") # Salida output_image = gr.Image(label="Gráfico Generado") output_text = gr.Textbox(label="Análisis Generado", lines=10) # Conectar el botón con la función de procesamiento process_button.click( fn=process_fn, inputs=[file_input], # Solo necesitamos el archivo aquí outputs=[output_image, output_text] ) return demo def process_and_plot(file): # Leer el archivo Excel proporcionado combined_data = read_excel_data(file.name) # Aquí puedes procesar los datos como lo has hecho anteriormente # Procesamiento y visualización de los resultados, basado en los datos leídos # Retornar gráficos generados y análisis # Para fines de ejemplo, solo mostramos una vista previa de los datos return combined_data.head(), "Análisis de los datos realizados" # Aquí se define la función que limpia y procesa los datos def read_excel_data(file_path): excel_data = pd.ExcelFile(file_path) all_data = [] for sheet in excel_data.sheet_names: df = pd.read_excel(excel_data, sheet_name=sheet) # Eliminar columnas innecesarias y renombrar las importantes df_clean = df.iloc[:, :4] # Las primeras 4 columnas contienen datos importantes df_clean.columns = ['Tiempo', 'Biomasa', 'Sustrato', 'Producto'] all_data.append(df_clean) combined_data = pd.concat(all_data, ignore_index=True) return combined_data