当前位置:嗨网首页>书籍在线阅读

28-第2步_查找所有未支付会费的成员

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

第2步:查找所有未支付会费的成员

一旦确定了最近一个月的列数(保存在 lastCol 中),就可以循环遍历第一行(这是列标题)之后的所有行,看看哪些成员在该月会费的单元格中写着paid。如果会员没有支付会费,就可以从列1和列2中分别抓取成员的姓名和电子邮件地址。这些信息将放入 unpaidMembers 字典,它记录最近一个月没有交费的所有成员。将以下代码添加到sendDuesReminder.py中:

   #! python3
   # sendDuesReminders.py - Sends emails based on payment status in spreadsheet.
   --snip--
   # Check each member's payment status. 
   unpaidMembers = {}
❶ for r in range(2, sheet.max_row + 1):
     ❷ payment = sheet.cell(row=r, column=lastCol).value
        if payment != 'paid':
          ❸ name = sheet.cell(row=r, column=1).value
          ❹ email = sheet.cell(row=r, column=2).value
          ❺ unpaidMembers[name] = email

这段代码设置了一个空字典 unpaidMembers ,然后循环遍历第一行之后所有的行❶。对于每一行,最近月份的值保存在 payment 中❷。如果 payment 不等于 'paid' ,则第一列的值保存在 name 中❸,第二列的值保存在 email 中❹,将 nameemail 添加到 unpaidMembers 中❺。