<返回更多

让你的Python代码加上界面,你从未想到竟然这么简单

2020-04-02    
加入收藏

让你的Python代码加上界面,你从未想到竟然这么简单

 

 

此系列文章收录在公众号中:数据大宇宙 > Python > iwg

转发本文并私信我"python",即可获得Python资料以及更多系列文章(持续更新的)

 

一个专栏让从入门到精通 pandas ,里面还有许多实战数据处理、分析案例:

 

 

前言

Python 配合上各式各样的数据相关库,让我们轻松做出各种自动化效果,但是,有时候我们也会羡慕那种界面的操作,毕竟大家都喜欢点点鼠标就能让自动化跑起来。

本系列将重点讲解如何在 Jupyter Notebook 上如何用最小的代码,快速为你的自动化代码加上实用的界面。

我们将从一个加载数据的场景开始我们的学习之旅!

 

本系列大部分情况下都是基于 ipywidgets 在 Jupyter Notebook 下工作,请确保安装 ipywidgets 库与相应的 jp 插件。

执行如下命令即可完成安装:

 pip install ipywidgets && jupyter nbextension enable --py widgetsnbextension

 

直到看到如下信息:

 Enabling notebook extension jupyter-js-widgets/extension...
       - Validating: ok

现在重启你的 Jupyter Notebook 即可。

本文用到的包如下:

 import pandas as pd
 import numpy as np
 
 import ipywidgets as wg
 from IPython.display import display

 

可以不修改代码吗

如果你经常需要从各种文件加载你的数据,那么下面的代码真的是司空见惯:

让你的Python代码加上界面,你从未想到竟然这么简单

 

但是,你不可能每天都从同一个文件中加载数据,那么明天该怎么执行这段自动化脚本?

没错!就是修改代码中的文件路径。

这勉强可以接受,但是能有更好的方式吗?

先从简单的来,比如在一个文本框中输入文件名字与工作表名字,点击加载按钮即可运行你的代码:

让你的Python代码加上界面,你从未想到竟然这么简单

 


填入文件名字

首先,把我们的执行逻辑定义到一个函数中:

让你的Python代码加上界面,你从未想到竟然这么简单

 

然后,为这个函数打上装饰器,并执行:

让你的Python代码加上界面,你从未想到竟然这么简单

 

 

此时,我们往2个文本框输入相应的信息,点击最后的按钮即可加载数据:

让你的Python代码加上界面,你从未想到竟然这么简单

 

如果可以直接让我选择当前目录下的所有文件名,那就太好了!

 

选择一个文件

刚刚说过,ipywidgets 的装饰器能自动根据参数默认值的类型生成适合的交互控件,这次,我们读取当前目录下的所有 Excel 文件路径的列表,看看会有啥效果:

让你的Python代码加上界面,你从未想到竟然这么简单

 

让你的Python代码加上界面,你从未想到竟然这么简单

 


还有更多

那么,是不是连工作表名字也可以根据选择的文件名字,转为下拉选择框?

让你的Python代码加上界面,你从未想到竟然这么简单

 

 

现在只是加载了数据,如果可以输入查询条件,过滤数据,那就太好了!

虽然要求越来越过分,但是也是可以的。

如下是可以选择某个日期,并且加载数据中小于这个日期的记录:

让你的Python代码加上界面,你从未想到竟然这么简单

 

如果你觉得这还不够好,我们还可以结合 pandas 的 query 方法,现在改变筛选条件,不再需要修改代码了:

让你的Python代码加上界面,你从未想到竟然这么简单

 

本系列将教会你这些,记得关注噢!

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>