FlowerNet-EXP / app.py
ELVISIO's picture
Update app.py
362317c verified
import gradio as gr
import pandas as pd
import json
# 读取Excel文件
def read_excel(file_path):
df = pd.read_excel(file_path)
# 提取 Output 和 Initial Output 列的第一行数据
output_str = df["Output"].iloc[0] # 第一行 Output 列的值
initial_output_str = df["Initial Output"].iloc[0] # 第一行 Initial Output 列的值
return output_str, initial_output_str
# 生成问卷调查界面
def generate_survey(output_str, initial_output_str):
# 创建Gradio界面
with gr.Blocks() as demo:
gr.Markdown("## 问卷调查")
# 将 Output 列的数据解析为 Markdown 并显示
gr.Markdown("### Output (Markdown)")
gr.Markdown(output_str) # 解析并显示 Markdown
# 将 Initial Output 列的数据解析为 Markdown 并显示
gr.Markdown("### Initial Output (Markdown)")
gr.Markdown(initial_output_str) # 解析并显示 Markdown
# 创建一个文本输入框用于打分
score = gr.Textbox(label="请打分 (1-5)", placeholder="输入1到5之间的数字")
# 创建一个提交按钮
submit_button = gr.Button("提交")
# 创建一个输出文本框
output_text = gr.Textbox(label="提交结果", interactive=False)
# 定义一个回调函数来处理提交
def submit(score):
try:
score = int(score)
if 1 <= score <= 5:
# 将结果保存到JSON文件
result = {"score": score}
with open("survey_result.json", "w") as f:
json.dump(result, f)
return "提交成功!"
else:
return "请输入1到5之间的数字。"
except ValueError:
return "请输入有效的数字。"
# 绑定提交按钮的回调函数
submit_button.click(submit, inputs=score, outputs=output_text)
return demo
# 主函数
def main():
# 读取Excel文件
file_path = "survey_data.xlsx" # 替换为你的Excel文件路径
output_str, initial_output_str = read_excel(file_path)
# 生成问卷调查界面
demo = generate_survey(output_str, initial_output_str)
# 启动Gradio应用
demo.launch()
if __name__ == "__main__":
main()