如何使用 python 将 str 类型转换为 date 类型

How can I convert a str type to date type using python

我正在尝试将 str 类型(例如:“1995-01-09 00:00:00”)转换为日期,这是我的尝试

for line in ratings_df[['user_id','movie_id','rating','timestamp']].values:
    annee= line[3]
    print datetime.strptime(annee, "%Y-%m-%d %H:%M:%S")

我收到了这个错误:

如果您的示例日期字符串已准确复制到您的问题中,则末尾有一个尾随 space 字符。格式字符串没有此 space,因此 strptime() 无法解析该字符串。您可以预先 strip() 日期字符串:

for line in ratings_df[['user_id','movie_id','rating','timestamp']].values:
    annee= line[3].strip()
    print datetime.strptime(annee, "%Y-%m-%d %H:%M:%S")

或者您可以将 space 添加到格式字符串的末尾。我觉得脱衣更好

>>> annee
'1995-01-09 00:00:00 '
>>> datetime.datetime.strptime(annee, "%Y-%m-%d %H:%M:%S ")
datetime.datetime(1995, 1, 9, 0, 0)

除了末尾的额外 space 之外没有发现任何问题,去掉时间戳字符串并重试

首先尝试打印变量 annee 的值。 这可能会解决问题。