美文网首页
数据筛选与数据匹配

数据筛选与数据匹配

作者: 若晴y | 来源:发表于2021-04-08 22:54 被阅读0次

根据实际需要输出筛选结果,或将筛选结果保存起来。总结起来可以分为三类:

① 将筛选的结果存入学过的数据结构里,比如:列表,元组或字典。
② 将筛选的结果存入文件中。
③ 将筛选的结果打印出来。
例一
from openpyxl import load_workbook, Workbook

打开【10月考勤统计.xlsx】工作簿

wb = load_workbook('./material/10月考勤统计.xlsx')

获取活动工作表

ws = wb.active

获取表头

late_header = []
for cell in ws[1]:
late_header.append(cell.value)

新建工作簿

new_wb = Workbook()

获取新工作簿中的工作表

new_ws = new_wb.active

将表头写入新工作簿的工作表中

new_ws.append(late_header)

从第二行开始遍历表格

for row in ws.iter_rows(min_row=2, values_only=True):
# 取出姓名,部门,迟到时间和迟到次数
name = row[1]
department = row[2]
time = row[3]
number = row[-1]
# 判断是否迟到
if department == '人力资源部' and time > 45 and number > 3:
print('人力资源部的{}迟到了{}分钟,迟到了{}次'.format(name, time, number))
# 将迟到人员信息写入新工作簿的工作表中
new_ws.append(row)

将新工作簿保存为【10月迟到人员信息.xlsx】

new_wb.save('./material/人力资源部10月迟到人员信息.xlsx')
例二
from openpyxl import load_workbook

打开工作簿【10月考勤统计.xlsx】,获取活动工作表

wb = load_workbook('./material/10月考勤统计.xlsx')
ws = wb.active

创建迟到人员字典

info_dict = {}

循环读取除表头外的表格数据

for row in ws.iter_rows(min_row=2, values_only=True):
# 取出员工工号
staff_id = row[0]
# 取出迟到次数
staff_late = row[-1]
# 将信息添加入字典,字典格式为{'员工工号': '迟到次数'}
info_dict[staff_id] = staff_late

打开工作簿【迟到次数月度统计(10月更新).xlsx】,获取活动工作表

monthly_wb = load_workbook('./material/迟到次数月度统计(10月更新).xlsx')
monthly_ws = monthly_wb.active

循环读取出表头外的表格数据

for monthly_row in monthly_ws.iter_rows(min_row=3, max_col=13, values_only=True):
# 取出员工工号
member_id = monthly_row[0]
# 取出十月份的迟到次数
member_late = monthly_row[-1]
# 匹配迟到次数是否相等
if member_late != info_dict[member_id]:
print('工号{}迟到情况不匹配,请核查后更新'.format(member_id))

通过案例的讲解,相信你对数据匹配的场景已经有了初步的认识,那么怎么在以后的工作中应该如何识别出这种场景并解决筛选问题呢,我们现在来总结一下。

两张表中存在有关联的数据,需要我们根据关联将两张表中的数据连接起来,这时候就需要对表格中的数据进行匹配操作。

具体的操作步骤还是可以按照获取数据,使用数据和数据输出来总结:

首先是获取数据,使用上节课学习过的表格读写的相关知识,根据任务需求,确定要获取的是零散的单元格,是单行/单列,还是多行/多列的数据。
接下来就是关键部分使用数据,匹配逻辑在此实现。

先要明确表格之间的关联关系,然后将获取到的某一表格中的数据,按照需要存储起来(推荐使用字典,把可以连接表格的数据作为键,要匹配的数据作为值)。
再将另一个表格中要匹配的值与字典中对应的值关联起来,实现匹配逻辑。

最后是数据输出部分。还是要结合任务需求,确定任务是要我们将结果写入表中还是将结果打印在终端上,前面讲过了,这里就不再赘述。

相关文章

  • 数据筛选与数据匹配

    根据实际需要输出筛选结果,或将筛选结果保存起来。总结起来可以分为三类: ① 将筛选的结果存入学过的数据结构里,比如...

  • 工作常用excel快捷键8.24

    2020.10.28补充: 1、 excel表格数据筛选后,不可以用vlookup匹配筛选后的数据了。它会直接匹配...

  • 正则表达式

    1 定义 自定义的,用来筛选文本的模式模板。数据流-->正则表达式-->匹配数据 (若不匹配,则为“拒绝的数据...

  • Excel中这样“筛选”数据,80%的人都不会

    在用Excel处理数据时,根据某种条件筛选出匹配的数据是一项常见的需求。 Excel自动筛选工具可以按照日期、字体...

  • 数据分析Pandas库应用

    读入输出 Series使用——输出table 单元格数据运算 数据排序 条件筛选 绘图 Vlookup匹配 分割s...

  • T1.5 Excel-Data Extraction

    数据提取——匹配、分列与合并 数据匹配:VLOOKUP() 数据分列:Left()/Right() MID(tex...

  • 应用技巧十六:灵活筛选出符合条件的数据

    管理数据列表时,根据某种条件筛选出匹配的数据是一项常见的需求 。Excel提供了一种“筛选”功能(Excel 20...

  • 小洁详解《R数据科学》--第九章 dplyr处理关系

    1.简介 • 合并连接:向数据框中加入新变量,新变量的值是另一个数据框中的匹配观测。• 筛选连接:根据是否匹配另一...

  • 边际分布曲线图的绘制

    思路和方法,学习重点是数据的筛选拆分、用多个表格的数据绘制分组图表,图层(Layer)的管理。 数据的筛选与拆分 ...

  • linux命令grep、sed

    linux命令grep、sea grep:文本过滤工具 功能说明: 从文本文件或管道数据流中筛选匹配的行及数据。 ...

网友评论

      本文标题:数据筛选与数据匹配

      本文链接:https://www.haomeiwen.com/subject/qlvykltx.html