将字符串转换为日期时间对象时出现空值错误

问题描述

我正在尝试将包含时间元素的字符串转换为datetime对象。

from datetime import datetime as dt

def converttime(dataset):
    for i in range(len(dataset)):
        datecol=dataset.loc[i]["Date"]
        date=datecol[:25]
        print(date)
        date=dt.strptime(date,"%a,%d %b %Y %H:%M:%s")
        dataset.loc[i]['Date']=date
    return dataset

数据采用以下格式: '2001年5月14日星期一16:39:00 -0700(PDT)'

我一直在获取价值错误,我也不知道为什么。红色的第一行显示字符串的原始格式,第二行显示我想要的格式的字符串。我不知道为什么循环仅在2次迭代后才停止。

enter image description here

这是我调用函数时遇到的错误

enter image description here

我不知道错误是什么..或如何解决...

请帮助!

解决方法

我的字符串拼接结尾处有一个额外的空白空间。所以我只用了strip功能,现在该功能起作用了:

def converttime(dataset):
for i in range(len(dataset)):
    datecol=dataset.loc[i]["Date"]
    date=datecol[:25]
    date=date.strip()
    date=dt.strptime(date,"%a,%d %b %Y %H:%M:%S")
    dataset.loc[i]['Date']=date
return dataset