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
中❹,将 name
和 email
添加到 unpaidMembers
中❺。