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

时间:2017-12-01 10:31:40

标签: python datetime strptime

我正在尝试将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")

我收到了这个错误:

error

3 个答案:

答案 0 :(得分:0)

如果您的示例日期字符串被准确地复制到您的问题中,那么末尾会有一个尾随空格字符。格式字符串没有此空格,因此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")

或者您可以将空格添加到格式字符串的末尾。我认为剥离更好。

答案 1 :(得分:0)

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

除了最后的额外空格外,找不到任何问题,剥离时间戳字符串并再试一次

答案 2 :(得分:-1)

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