如何快速比对表格数据

TTTEED

共 1370字,需浏览 3分钟

 · 2020-12-13

最近在倒腾一些表格数据,遇到这么个问题:先前下载了一批数据,等再次更新下载时,数目却变少了,我需要快速定位到缺失的条目并探究原因。


如图,左侧 10 条数据是先前下载的,右侧少了 1 条(数据是随便编的):




Python 操作


因为对 Excel 的函数操作不太熟,第一时间我是用 Python 来比对数据的:选取两份表格中的 id 列,分别复制到两份 txt 文档中,转化为 Python 读取 txt 文档数据、列表的相关操作问题。


# 读取两文档中的id数据with open("001.txt","r") as f:    data1 = f.readlines()# data1 为 ['20\n', '12\n', '73\n', '44\n', '5\n', '96\n', '127\n', '28\n', '9\n', '1']
with open("002.txt","r") as f: data2 = f.readlines()# data2 为 ['9\n', '127\n', '73\n', '44\n', '20\n', '96\n', '1\n', '28\n', '12']
# 对读取到的数据做下简单处理,去掉字符串中的换行符 data1 = [x.strip() for x in data1 ]data2 = [y.strip() for y in data2 ]
# 选取在 data1 中出现过、但 data2 中却不包含的数据result = [i for i in data1 if i not in data2 ]print(result)# 得到结果 ['5']


根据得到的结果 5 定位到缺失的数据条目。



Excel 操作



拿到结果自然是心满意足继续干活了,闲下来想一般不会编程的文职人员会怎么解决这问题呢?


经过一番搜索,可以直接使用 Excel 的函数。首先随便选定两个表格中的同列数据,放到一个表格中:



选择 C1 处,输入如下公式:


=IF(COUNTIF(B:B,A1)>0,"","少了")


Excel 中 IF 函数:=IF(条件判断, 结果为真返回值, 结果为假返回值)


COUNTIF 函数:=COUNTIF(条件区域,条件),返回满足条件的单元格数目


对 C1 处设置好函数后,鼠标移到右下角,变成十字时点击往下拖覆盖到 C10,便可将该函数自动设置到其它位置,最终得到结果。



“少了”是自定义的提示信息,得到的结果与之前 Python 得出的 "5" 对应的数据是一致的。





问题不大,也挺简单,琢磨琢磨也挺有意思的。


两种解法其实最后的逻辑是相同的,只不过体现在不同的程序和语言上。


解决问题可能几分钟,整理记录却比较耗时,希望能给看到的各位带来点帮助吧~



往期推荐



用Python整理Excel表格

Python读取PDF信息插入Word文档

Python 自动整理 Excel 表格

Python 合并 Excel 表格

Python 如何实时绘制数据



浏览 26
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报