0

I'm trying to input info from an easily editable CSV file where the first row contains the variable names. I am doing this by iterating over the list of variables so each variable is a new dropdown. Using this method everything appears correctly in the interface but something is going wrong when it comes to outputting the selected values. I'm thinking I need another approach but I can't think how to do it short of generating a new gradio interface for each dropdown.

the following code hangs when you click submit:

import gradio as gr
import pandas as pd

df = pd.read_csv(file_path)

# first row of the CSV as the variable names
variables = list(df.columns)

# filter out null values
df = df.dropna()

# rest of the rows as the options for each variable
options = {var: list(df[var]) for var in variables}

def assign_values(**kwargs):
    global save_variables
    save_variables.update(kwargs)
    return kwargs

save_variables = {}

inputs = [gr.inputs.Dropdown(label=var, choices=options[var], type="value") for var in variables]
outputs = ["text"]
gr.Interface(fn=assign_values, inputs=inputs, outputs=outputs, title="Assign Values").launch()
Maracman
  • 13
  • 2

0 Answers0