Toggle navigation
直到世界的尽头
主页
搜索
jupyter可视化交互编程
计算机相关
2021-12-17 16:37:39.0
https://github.com/jupyter-widgets/ipywidgets 输出的几种方式 https://ipywidgets.readthedocs.io/en/latest/examples/Output%20Widget.html https://ipython.readthedocs.io/en/stable/api/generated/IPython.display.html#module-IPython.display https://ipywidgets.readthedocs.io/en/stable/examples/Widget%20List.html ``` import os, sys def clear_output(): os.system('cls' if os.name == 'nt' else 'clear') if 'ipykernel' in sys.modules: from IPython.display import clear_output as clear clear() !pip install utils !pip install pyhive !pip install sqlalchemy !pip install ipywidgets clear_output() # 清除输出 print("install ok") ``` ``` import ipywidgets as widgets # 控件库 from IPython.display import display # 显示控件的方法 text_order=widgets.Text( value='', placeholder='Type something', description='请输入查询订单:', disabled=False ) btn_submit = widgets.Button(description = "确定", tooltip = '提交查询') def btn_click(sender): with out: print(text_order.value) box = widgets.Box([text_order,btn_submit]) display(box) btn_submit.on_click(btn_click) out = widgets.Output() display(out) ```  ``` import ipywidgets as widgets # 控件库 from IPython.display import display # 显示控件的方法 date_pick_start=widgets.DatePicker( description='开始时间', disabled=False ) date_pick_end=widgets.DatePicker( description='结束时间', disabled=False ) btn_submit = widgets.Button(description = "确定", tooltip = '提交查询') def btn_click(sender): with out: print(date_pick_start) print(date_pick_end) box = widgets.Box([date_pick_start,date_pick_end,btn_submit]) display(box) btn_submit.on_click(btn_click) out = widgets.Output() display(out) ```  参考链接: [清空输出](https://blog.csdn.net/SL_World/article/details/108756163?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-2-108756163.pc_agg_new_rank&utm_term=jupyter+notebook%E6%B8%85%E7%A9%BA%E8%BE%93%E5%87%BA%E5%91%BD%E4%BB%A4&spm=1000.2123.3001.4430 "清空输出") 可能遇到的问题: 获取到的变量和dataframe在下面的cell中无法访问和读取 payflow=None global payflow ``` import ipywidgets as widgets # 控件库 from IPython.display import display # 显示控件的方法 from sqlalchemy.engine import create_engine import pandas as pd import utils as utils date_pick_start=widgets.DatePicker( description='开始时间(选本月1号):', disabled=False ) date_pick_end=widgets.DatePicker( description='结束时间(选下月1号)', disabled=False ) payflow=None start_date="" end_date="" btn_submit = widgets.Button(description = "确定", tooltip = '提交查询') def btn_click(sender): with out: print("正在加载数据ing") start_date=date_pick_start.value.strftime("%Y-%m-%d") end_date=date_pick_end.value.strftime("%Y-%m-%d") baobiao_engine = create_engine('presto://baobiao.23cube.com:80/hive') sql=""" select userId, happenDate, orderId, orderPlatForm, platformOrderId, payPlatform, flowOrderId, realPay, channelProvider from mofangdb_kingdee.payflow """ if start_date and end_date: sql=f""" select userId, happenDate, orderId, orderPlatForm, platformOrderId, payPlatform, flowOrderId, realPay, channelProvider from mofangdb_kingdee.payflow where happenDate>='{start_date}' and happenDate<'{end_date}' """ global payflow payflow = pd.read_sql(sql, baobiao_engine) # with out: # print(date_pick_start.value.strftime("%Y-%m-%d")) # print(date_pick_end.value.strftime("%Y-%m-%d")) # print(sql) # print(payflow.count()) box = widgets.Box([date_pick_start,date_pick_end,btn_submit]) display(box) payflow=btn_submit.on_click(btn_click) out = widgets.Output() display(out) ``` https://www.5axxw.com/questions/content/sctk9l