python - 值错误:微秒必须在 0..999999
问题描述
嗨,我正在使用库 win32com.client 从 Outlook 共享邮箱读取电子邮件,我收到一个值错误:微秒必须在 0..999999 中。我尝试将“ReceivedDate”格式化为“%Y-%D-%M %H:%M:%S”,但没有成功。你知道我还能尝试什么吗?
问题 2:我试图计算有多少电子邮件没有得到回复,但我在文档中没有看到它的属性。所以我去阅读所有标记为已完成的“FlagRequest”。我会让代表按照这个过程来判断电子邮件是否已完成。
import win32com.client
def readEmail():
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
folder = outlook.Folders.Item('SharedMailbox, TEST')
inbox = folder.Folders.Item('Inbox')
messages = inbox.Items
counter = 0
for message in messages:
rcvd_dt = message.ReceivedTime
if message.FlagRequest != 'Follow up' and str(rcvd_dt) >= '2020-06-01 00:00:00':
counter +=1
print(counter)
print(received_dt)
追溯:
Traceback (most recent call last):
File "C:/Users/TEST/PycharmProjects/TEST/Metrics.py", line 422, in <module>
main()
File "C:/Users/TEST/PycharmProjects/TEST/Metrics.py", line 409, in main
readEmail()
File "C:/Users/TEST/PycharmProjects/TEST/Metrics.py", line 89, in readEmail
rcvd_dt = message.ReceivedTime
File "C:\Program Files (x86)\Python37-32\lib\site-
packages\win32com\client\dynamic.py", line 516, in __getattr__
ret = self._oleobj_.Invoke(retEntry.dispid,0,invoke_type,1)
ValueError: microsecond must be in 0..999999
我尝试了什么:
rcvd_dt= datetime.strptime(str(rcvd_dt.split('.')[0], '%Y-%m-%d %H:%M:%S')
但得到错误:
valueerror: time data '2' does not match format %Y-%m-%d %H:%M:%S.%f'
如果我尝试:
rcvd_dt= datetime.strptime(str(rcvd_dt.split('.')[0], '%Y-%m-%d %H:%M:%S.%f')
我得到:
valueerror: time data '2020-06-16 08:53:56' does not match format %Y-%m-%d.%f'
解决方案
推荐阅读
- python - Pandas 重采样:TypeError:仅对 DatetimeIndex、TimedeltaIndex 或 PeriodIndex 有效,但获得了“RangeIndex”实例
- c# - 泛型类中的属性。在 Find of Mongodb 中获取属性
- javascript - setInterval() 中的 .load 调用只能工作一次
- javascript - Google Analytics 如何确定“设备类别”(移动设备/平板电脑/台式机)?
- powershell - Out-File 不必要的字符
- python - 如何在python中返回多维字典的关联键和值?
- sql - 在整个时间范围内产生时间孤岛。SQL 服务器
- javascript - 带有 JS 的复杂 JSON 结构
- sql - 将一个表与下一个表的最新版本连接起来
- azure - 如何指定到网关的路由