import gradio as gr import pandas as pd import json import markdown # 从 Excel 文件中提取第一列的数据并解析 Markdown def extract_and_parse_markdown(excel_file): # 读取 Excel 文件 df = pd.read_excel(excel_file) # 提取第一列的数据 first_column_data = df.iloc[:, 0].tolist() # 解析 Markdown 字符串 parsed_texts = [markdown.markdown(text) for text in first_column_data] return parsed_texts # Gradio 界面函数 def questionnaire(question, option): # 将用户的选择记录到 JSON 文件中 data = { "question": question, "selected_option": option } with open("responses.json", "a") as f: json.dump(data, f) f.write("\n") return f"您选择了: {option}" # 创建 Gradio 界面 def create_interface(): # 从 Excel 文件中提取并解析 Markdown excel_file = "questions.xlsx" # 替换为你的 Excel 文件路径 questions = extract_and_parse_markdown(excel_file) # 创建 Gradio 界面 iface = gr.Interface( fn=questionnaire, inputs=[ gr.Dropdown(choices=questions, label="请选择一个问题"), gr.Radio(choices=["选项1", "选项2", "选项3"], label="请选择一个选项") ], outputs="text", title="问卷调查" ) return iface # 启动 Gradio 应用 if __name__ == "__main__": iface = create_interface() iface.launch()