【问题标题】:Python ValueError: unconverted data remains:Python ValueError:未转换的数据仍然存在:
【发布时间】:2018-12-04 07:24:29
【问题描述】:

我有以下代码:

这是我的代码:

print (start_timestamp)
start_timestamp_no_iso = datetime.strptime(start_timestamp, "%Y-%m-%dT%H:%M:%S.%f")

这是我得到的:

INFO - 2018-11-20T14:44:03.452131
INFO - Traceback (most recent call last):
INFO - File "/home/ubuntu/script.py", line 84, in <module>
INFO - start_timestamp_no_iso = datetime.strptime(start_timestamp, "%Y-%m-%dT%H:%M:%S.%f")
INFO - File "/usr/lib/python3.6/_strptime.py", line 565, in _strptime_datetime
INFO - tt, fraction = _strptime(data_string, format)
INFO - File "/usr/lib/python3.6/_strptime.py", line 365, in _strptime
INFO - data_string[found.end():])
INFO - ValueError: unconverted data remains:
INFO - Command exited with return code 1

我明白这意味着什么,但我不明白为什么会这样。我只是将时间戳从 iso 格式转换为非 iso 格式。有什么问题?

【问题讨论】:

标签: python time


【解决方案1】:

您的格式字符串%Y-%m-%dT%H:%M:%S.%f 绝对正确。我敢肯定,您的行尾有line feeds。试试看

start_timestamp_no_iso = datetime.strptime(start_timestamp.strip(' \t\r\n'), "%Y-%m-%dT%H:%M:%S.%f")

【讨论】:

  • start_timestamp.strip() 不就足够了吗? (使用默认的剥离行为)
  • 它会,只是更喜欢 explicit 形式来突出显示可疑字符以获得答案。
猜你喜欢
  • 2020-04-25
  • 2020-03-29
  • 1970-01-01
  • 2013-12-18
  • 2020-08-06
  • 1970-01-01
  • 1970-01-01
  • 2015-05-26
  • 1970-01-01
相关资源
最近更新 更多