我有一个DF,它有以下信息:
id email org senha server email_comp
1 jj @gmail.com 123 imap.gmail.com [email protected]
2 bb @gmail.com 325 imap.gmail.com [email protected]
我需要逐个阅读这些记录以在电子邮件中进行验证,但我想不出为所有信息执行此循环的方法。目前我实现了以下目标:
for nextServer in enumerate (imaplib.IMAP4_SSL(df['server'])):
但它继续给出错误,如果它与HardCode有关,那么过程将如下:
while go:
mail = imaplib.IMAP4_SSL(server)
mail.login(email_comp, senha)
我认为apply()
方法非常适合这里。它基本上将函数应用于数据帧的每一行(或列,如果你为0
参数传递axis
)。如果编写一个执行所需操作(验证和登录)的函数,则可以使用apply()
在数据帧的每一行上调用该函数。
像这样的东西:
def verify(user):
mail = imaplib.IMAP4_SSL(user.server)
mail.login(user.email_comp, user.senha)
df.apply(verify, axis = 1)
我能够找到问题的解决方案。
for idConfig, config in df.iterrows():
mail = imaplib.IMAP4_SSL(df['smtp_server'])
mail.login(df['from_email'],df['from_pwd'])