表格过滤
表格过滤
描述:对获取到的DataFrame数据集进行过滤操作,并将过滤后的数据返回

注意:
- 过滤处理的对象类型为DataFrame,支持单个或多个条件过滤
- 数据过滤后的返回值依旧为DataFrame类型数据集
属性说明
通用属性
- 前置延时 - 组件功能执行之前等待的时间,单位为'ms''
- 后置延时 - 组件功能执行后等待的时间,单位为''ms''
- 备注- 组件备注说明,以便于理解和快速定位
目标属性
- 表格 - 传入待过滤处理的表格数据,输入类型为Dataframe
输入属性
- 条件直接关系 - 设置筛选条件之间的逻辑关系,它有and和or两个按钮:and为逻辑与,也就是所有条件都符合才匹配;or为逻辑或,所有条件中只要有一条匹配就满足
返回值
- 输出到变量 - 表格过滤后得到的数据,其类型依旧为Dataframe,可传入变量中进行保存,也可以直接传入其他组件中使用
使用示例
添加【读取Excel】组件---->添加【表格过滤】组件--->添加【输出】组件---->运行流程

准备被读取的Excel文件,内容如下

情况1:表格过滤组件的输入属性窗口,点击 '+' 添加过滤条件---->设置条件直接关系与过滤条件:''产品类型''值等于'A1'---->运行流程

输出结果:运行流程后---->系统自动读取excel数据,以设置条件过滤数据,并输出到控制台

情况2:表格过滤组件的输入属性窗口,设置过滤条件:''产品名称''值等于'name0002'---->运行流程

输出结果:运行流程后---->系统自动读取excel数据,以设置条件过滤数据,并输出到控制台

情况3:表格过滤组件的输入属性窗口,''条件直接关系''设置为and---->设置过滤条件:''产品类型''值等于'A1'---->设置过滤条件:''产品名称''值等于'name0002'---->运行流程

输出结果:运行流程后---->系统自动读取excel数据,以设置条件过滤数据,并输出到控制台

情况4:表格过滤组件的输入属性窗口,''条件直接关系''设置为 or---->设置过滤条件:''产品类型''值等于'A1'---->设置过滤条件:''产品名称''值等于'name0002'---->运行流程

输出结果:运行流程后---->系统自动读取excel数据,以设置条件过滤数据,并输出到控制台

情况5:表格过滤组件的输入属性窗口,''条件直接关系''的两个输入参数也支持传入变量操作---->例如下图流程添加变量lv_1且设置默认值为'A1'

表格过滤组件的''条件直接关系''设置为'产品类型'等于'lv_1'---->运行流程

输出结果:运行流程后---->系统自动读取excel数据,以设置条件过滤数据,并输出到控制台

情况6:条件设置栏中间的下拉框即为判断方法,默认为'==',也就是等于,匹配指定列的内容中等于指定值的数据,参照以上示例;选择其他判断方法如下(输出结果自行检查) 条件设置栏中间的下拉框选择'>': 匹配指定列的内容中大于指定值的数据,如匹配'产品风险级别'列中内容大于5的数据

条件设置栏中间的下拉框选择'>=': 匹配指定列的内容中大于或等于指定值的数据,如匹配'产品风险等级'列中内容大于等于5的数据

条件设置栏中间的下拉框选择'<': 匹配指定列的内容中小于指定值的数据,如匹配'视频保存时长'列中内容小于6的数据

条件设置栏中间的下拉框选择'<=': 匹配指定列的内容中小于或等于指定值的数据,如匹配'视频保存时长'列中内容小于或等于6的数据

条件设置栏中间的下拉框选择'!=': 匹配指定列的内容中不等于指定值的数据,如匹配'产品名称'列中内容不为'name0002'的数据

情况7:条件设置栏中间的下拉框选择'startswith':匹配指定列的内容中以某个字符开头的数据---->匹配'产品代码'列中开头为'zs'的数据---->运行流程

输出结果:运行流程后---->系统自动读取excel数据,以设置条件过滤数据,并输出到控制台

如果筛选的列中有空值,按照以上条件,流程运行后则会抛出异常,需要进行过滤空值

情况8:'notna':匹配指定列的内容中不为空的数据---->匹配'产品代码'列中内容不为空的记录---->运行流程

输出结果:运行流程后---->系统自动读取excel数据,以设置条件过滤数据,并输出到控制台

也可应用于类似上例中,去除筛选列中的空值,避免抛出异常

输出结果:运行流程后---->系统自动读取excel数据,以设置条件过滤数据,并输出到控制台

情况9:'endswith':匹配指定列的内容中以某个字符结束的数据----> '产品代码'列中为'0002'结尾的记录---->运行流程

输出结果:运行流程,系统自动读取excel数据,以设置条件过滤数据,并输出过滤后的数据

同样,若是筛选的列中有空值,则会抛出异常,需要进行过滤空值
情况10:'match':比对指定列的内容中与正则表达式匹配的数据,注意筛选的列中不能有空值,否则会抛出异常 ----> 例如'产品代码'列中匹配符合'zs.*'
正则表达式的数据---->运行流程

输出结果:运行流程后---->系统自动读取excel数据,以设置条件过滤数据,并输出到控制台

情况11:'isnull':匹配指定列的内容中为空的数据---->匹配'产品代码'列中内容为空的记录---->运行流程

输出结果:运行流程后---->系统自动读取excel数据,以设置条件过滤数据,并输出过滤后的数据

情况12:'isin':匹配指定列的内容中包含指定字符的数据,注意指定字符的内容需填写完全一致,写入列表输入---->匹配'产品类型'列中内容为'A1'的记录---->运行流程

输出结果:运行流程后---->系统自动读取excel数据,以设置条件过滤数据,并输出到控制台

指定字符不能直接输入,否则会抛出异常,提示需要传入一个list-like的对象数据

输出结果:运行流程后---->抛出异常

情况13:实践操作
过滤掉以下表格中'产品代码'不是以'zs'开头 ----> '产品风险级别'大于5的数据

匹配以'zs'开头的数据,可以使用'startswith'这个方法
'产品代码'列中有空值,所以要在'条件直接关系'为'and'的情况下再加一个去空值的条件

过滤掉'产品风险等级'大于5的数据

运行流程后得到过滤后的数据
