如何使用 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
的值。
这可能会解决问题。
我正在尝试将 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
的值。
这可能会解决问题。