Python中的面板库未完全执行按钮回调函数

2024-10-03 17:28:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在努力使用Python中的panel库,以便构建一个交互式仪表板来分析和显示CSV数据。我目前的目标是让用户输入初始日期和最终日期,一旦按下按钮,这些日期将用于过滤数据帧。但是,每当我按下按钮时,在脚本停止运行之前,on_click函数并没有完全执行。代码片段如下所示:

import panel as pn
pn.extension()

def acquire_data(dateBeginning, dateEnd):
    eventDF = pd.read_csv('multi.csv')
    eventDF['Date']= pd.to_datetime(eventDF['Date'])
    dateDF = eventDF[eventDF.upvotes > 8]
    print(eventDF)

def register_dates(event, save=True): 
    dateBeginning = date1Picker.value
    dateEnd = date2Picker.value
    
    if dateBeginning < dateEnd:
        text = pn.widgets.StaticText(name='Static Text', value='A string')
        spinner = pn.indicators.LoadingSpinner(width=50, height=50, value=True, color='info', bgcolor='light')
        layout = pn.Column(text, spinner, align='center')
        layout.app()
        print('getting in')
        acquire_data(dateBeginning, dateEnd)
        print('getting out')
        spinner.value = False
    else:
        print('Not working')
        #pn.pane.Alert('## Alert\nThis is a warning!')
    return save
     
date1Picker = pn.widgets.DatePicker(name='Date Initiale', margin=25)
date2Picker = pn.widgets.DatePicker(name='Date Finale', margin=25)
button = pn.widgets.Button(name="Analyse", button_type='primary', margin=(25, 0, 20, 200), width=200)
button.on_click(register_dates)

dateLayout = pn.Row(date1Picker, date2Picker)
layout = pn.Column(dateLayout, button, width=200, align='center')
layout.app()

我还打算在按下按钮后,将第一个布局替换为带有微调器和文本的布局,但我在文档中没有找到任何提及如何操作的内容。如果有人能给我一个关于这些问题的提示,那真的会帮助我


Tags: namedatevaluebuttonwidgets按钮printlayout
1条回答
网友
1楼 · 发布于 2024-10-03 17:28:19

def采集数据(日期开始,日期结束):pd。读取_csv('multi.csv'),pd。到_datetime(eventDF['Date'])

首先,在这个函数中,我想你忘了导入panda,你的应用程序崩溃了

添加:作为pd导入熊猫

例: 作为pn导入面板 作为pd进口熊猫

相关问题 更多 >