Gradio学习(七)—————实现输入数据并获取接口结果,结果以表的格式展示出来的功能

# coding=utf-8
# -*- coding:utf-8 -*- 
import gradio as gr
import pandas as pd
import requests

with gr.Blocks() as demo:
    def get_str(label):
        url1="http://127.0.0.1:8889/login"
        request_data=f'''{url1}?label={label}'''
        resp=requests.get(request_data).text
        print(resp)
        return(resp)
        
    with gr.Tab(“Lion”)
        # 设置一个下拉框用来选择excel文件
        num=gr.Textbox(value='输入数据',label='输入调用的数据')
        # 设置一个按钮 更新表格内容
        gr.Button(“获取接口调用结果”)
        # 设置一个Dataframe 表格用来展示excel表的内容
        excel_df=gr.Dataframe(headers=None)

        #写一个调用函数,当按下”更新表格”的按钮后,读取对应文件,并更新表格内容
        def read_excel(i):
            # 支持多行输入,按行分为list集合
            my_list=i.splitlines()
            my_dict={}
            # 遍历输入list然后获取接口结果
            for item in my_list:
                print(item)
                my_dict[item]=get_str(item)
        print(my_dict)
        # 转换字典格式为dataframe
        my_df=pd.Dataframe.from_dict(my_dict,orient='index',columns=['接口结果'])
        my_df=my_df.reset_index().rename(column={'index':'输入'}
        return {
                excel_df:my_df
            }

        lion_button.click(
            read_excel,
            num,
            excel_df
        )
    with gr.Tab(“Tiger”):
        gr.Button(“new Tiger”)

gr,close_all()
# 因为在虚拟机中启动,而不是pycharm 所以指定主机ip (1.1.1.1)和端口号,如果是在pycharm 中,无需指定
demo.launch(server_name=1.1.1.1,server_port=7860,share=True,inbrowser=True)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值