【发布时间】:2020-11-03 11:05:04
【问题描述】:
我正在尝试发送一封 Outlook 电子邮件,其正文中包含一个取自 Excel 的小表格。电子邮件的主题应包含最后一个工作日期(周一至周五),格式为 yyyy-mm-day。我收到以下错误:
AttributeError: 'str' 对象没有属性 'weekday'。
谁能帮我确定电子邮件的日期格式?谢谢!
import win32com.client as win32
import pandas as pd
import datetime
df = pd.read_excel("Name of file","Name of tab", index_col=0, nrows = 2, usecols = "B:E")
df.rename({"Unnamed: 4":" "}, axis="columns", inplace=True)
body = df.to_html()
date = str (datetime.datetime.today().strftime('%Y-%m-%d'))
shift = datetime.timedelta(max(1,(date.weekday()+6)%7 - 3))
outlook = win32.gencache.EnsureDispatch('Outlook.Application')
new_mail = outlook.CreateItem(0)
new_mail.To = 'abcdefgh@outlook.com'
new_mail.Subject = 'XXXXXXX as of ' + str (date - shift)
new_mail.HTMLBody = (body)
new_mail.Send()
【问题讨论】:
-
您已将 datetime 对象转换为 date = str (datetime.datetime.today().strftime('%Y-%m-%d')) 中的字符串。删除 str() 它应该可以工作。
标签: python string datetime outlook