Python如何将当前季度自动添加至Outlook邮件主题
Python自动获取当前季度生成邮件主题实现指导
该需求完全可以实现,你现有代码仅存在两处小问题,修复后即可正常运行。
现有代码问题排查
- 缺少
pandas库导入声明:代码中调用了pd.Timestamp()但未导入pandas,运行会触发NameError - 类型不匹配报错:
quarter为整数类型,直接与字符串拼接会触发TypeError,需先转换为字符串类型
修复方案
方案1:保留pandas依赖的修复代码
import win32com.client as client import datetime import pandas as pd # 新增pandas导入语句 # 获取当前季度 Today = datetime.datetime.now() TodayTimeStamp = pd.Timestamp(Today) quarter = TodayTimeStamp.quarter # 发送邮件逻辑 outlook = client.Dispatch('Outlook.Application') message = outlook.CreateItem(0) message.Display() message.To = "Louise.Sweeney.Contractor@pepsico.com" message.Subject = "File Q" + str(quarter) # 整数转字符串后拼接 message.HTMLBody = "Hello World" message.Send()
方案2:无第三方依赖的轻量实现(无需安装pandas)
直接通过当前月份计算季度,减少不必要的依赖,代码更简洁:
import win32com.client as client import datetime # 直接通过月份计算季度,无需引入pandas today = datetime.datetime.now() quarter = (today.month - 1) // 3 + 1 # 发送邮件逻辑 outlook = client.Dispatch('Outlook.Application') message = outlook.CreateItem(0) message.Display() message.To = "Louise.Sweeney.Contractor@pepsico.com" message.Subject = f"File Q{quarter}" # f-string自动处理类型转换,语法更简洁 message.HTMLBody = "Hello World" message.Send()
内容的提问来源于stack exchange,提问作者PythonBeginner
相关产品推荐
相关产品推荐

