Python 有没有一种方法可以跳过空的Google工作表值并继续关注下一行?包括部分工作脚本
下面是一个python脚本,它将向同一行中列出的地址发送电子邮件。我的信息/消息在第2列,我的目标电子邮件地址在第6列。脚本正在运行。但是,当第6列(空白单元格)中没有电子邮件地址时,它会跳转到下一个可用的电子邮件地址,并为第2列发送错误的文本(该行中没有电子邮件地址时,它会发送第2列文本)。所以,发送了错误的消息。。。我能让它工作的唯一方法是,如果每个单元格中都有值,并且我不跳过第6列中的任何单元格。否则我不知道怎么做。是否有人知道如何修改脚本,以便我只能在有可用电子邮件地址时发送电子邮件,如果没有可用电子邮件地址则跳过,并确保只发送正确行中的值?这是我到目前为止的代码。另外,请参阅所附图片 编辑:我有一个半解。也许不是最优雅的。仍将感谢您的意见:Python 有没有一种方法可以跳过空的Google工作表值并继续关注下一行?包括部分工作脚本,python,python-3.x,email,google-sheets,data-structures,Python,Python 3.x,Email,Google Sheets,Data Structures,下面是一个python脚本,它将向同一行中列出的地址发送电子邮件。我的信息/消息在第2列,我的目标电子邮件地址在第6列。脚本正在运行。但是,当第6列(空白单元格)中没有电子邮件地址时,它会跳转到下一个可用的电子邮件地址,并为第2列发送错误的文本(该行中没有电子邮件地址时,它会发送第2列文本)。所以,发送了错误的消息。。。我能让它工作的唯一方法是,如果每个单元格中都有值,并且我不跳过第6列中的任何单元格。否则我不知道怎么做。是否有人知道如何修改脚本,以便我只能在有可用电子邮件地址时发送电子邮件,如
def emails(wks):
for row in wks.get_all_records():
if row["EMAIL"] and row != "":
yield row["EMAIL"]
to_emails = list(emails(wks))
print(to_emails)
def message(wks):
for row in wks.get_all_records():
if row["MESSAGETEXT"] and row["EMAIL"] != "":
yield row["MESSAGETEXT"]
to_message = list(message(wks))
print(to_message)
def emails(wks):
for row in wks.get_all_records():
if row["EMAIL"] and row != "":
yield row["EMAIL"]
to_emails = list(emails(wks))
print(to_emails)
def message(wks):
for row in wks.get_all_records():
if row["MESSAGETEXT"] and row["EMAIL"] != "":
yield row["MESSAGETEXT"]
to_message = list(message(wks))
print(to_message)
这将它分成两个列表。。。仍在测试此功能此功能有效:
def emails(wks):
for row in wks.get_all_records():
if row["EMAIL"] and row != "":
yield row["EMAIL"]
to_emails = list(emails(wks))
print(to_emails)
def message(wks):
for row in wks.get_all_records():
if row["MESSAGETEXT"] and row["EMAIL"] != "":
yield row["MESSAGETEXT"]
to_message = list(message(wks))
print(to_message)