python操作excel比较表格文件的差异

每周的青年大学习在导出名单时,只能看到已学习人员名单,而一个班里好多同学,每次一个一个对照着查看十分麻烦。
所以干脆使用python来处理吧!

首先我们要有一个表格“A班人员名单.xls”作为班级同学花名册。
其次我们要有一个表格“A班团支部青年大学习参与名单.xls”作为已学习同学名单。
实现代码如下:

import xlrd
# xlrd仅支持xls文件,如果不是xls文件,可以从xlsx文件中复制,粘贴到一个新建的xls文件中,不要直接修改后缀名!
# pip install xlrd即可安装
data=xlrd.open_workbook('A班团支部青年大学习参与名单.xls')
#表格与代码放在同一级目录下
# data打开文件
table=data.sheets()[0]
# table读取工作表sheet1
nrows=table.nrows
# nrows获取工作表sheet1的行数
data1=xlrd.open_workbook('A班人员名单.xls')
table1=data1.sheets()[0]
nrows1=table1.nrows
# 双层for循环
for rowx1 in range(2, nrows1):
    flag = 0
    name1 = table1.cell(rowx1, 0).value
    for rowx in range(2,nrows):
        name=table.cell(rowx,0).value
        flag=0
        if name1 == name:
            flag=1
            break
    if(flag==0):
    # flag为0,代表name1在循环中,没有在另一个表中找到与之相等的name,说明name1不在学习名单中,输出这位同学的名字name1,然后去催他大学习吧!
        print(name1)
常见问题:

有些人使用xlrd操作xls,在if语句判断值是否相等时,发现虽然值相等,但是if语句判断失败,if 语句认为他们两不相等

原因及解决方法:

1、if语句中,==用来判断int,is用来判断string
2、cell的内容,直接输出print(cell),显示为text:“名字”。
但这种无法比较,所以我们在判断相等时,必须获取cell的值,使用 cell.value
获取到真实的值。
再比较即可。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

S1901

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值