我收到以下错误:
time data '07/28/2014 18:54:55.099000' does not match format '%d/%m/%Y %H:%M:%S.%f'
但我看不到 %d/%m/%Y %H:%M:%S.%f
中哪个参数有问题?
这是我使用的代码。
from datetime import datetime
time_value = datetime.strptime(csv_line[0] + '000', '%d/%m/%Y %H:%M:%S.%f')
我已经添加和删除了 000
但我得到了同样的错误。
最佳答案
你已经交换了月份和日期:
'%m/%d/%Y %H:%M:%S.%f'
28
将永远不适合 %m
月份参数的范围。
使用 %m
和 %d
以正确的顺序解析工作:
>>> from datetime import datetime
>>> datetime.strptime('07/28/2014 18:54:55.099000', '%m/%d/%Y %H:%M:%S.%f')
datetime.datetime(2014, 7, 28, 18, 54, 55, 99000)
你不需要添加'000'
; %f
可以正确解析较短的数字:
>>> datetime.strptime('07/28/2014 18:54:55.099', '%m/%d/%Y %H:%M:%S.%f')
datetime.datetime(2014, 7, 28, 18, 54, 55, 99000)
关于python - 时间数据与格式不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25015711/