繁体   English   中英

(python)使用datetime解析日期时通常出现ValueError

[英](python) usual ValueError in parsing a date using datetime

我已经阅读了所有其他问题并彻底检查了我的脚本,但是错误仍然存​​在。

我的test.txt文件包含:

89.02 , 22/12/2016 
90.63 , 02/01/2017

日期的顺序是:日/月/年,这是我的脚本:

import numpy as np
from datetime import datetime
from matplotlib.dates import datestr2num
datefunc = lambda x: datestr2num(datetime.strptime(x, '%d/%m/%Y'))
values, date = np.loadtxt('test.txt', delimiter=',', unpack=True, converters = {1 : datefunc})

我得到了

ValueError: time data ' 22/12/2016 ' does not match format '%d/%m/%Y'

有人在那里看到错误吗? 谢谢您,将不胜感激

日期数据周围有多余的空间。 尝试剥离日期字符串,然后再将其传递给strptime

datefunc = lambda x: datestr2num(datetime.strptime(x.strip(), '%d/%m/%Y'))

因为字符串x周围有空格

您可以使用strip()

>>> datetime.strptime(x.strip(), '%d/%m/%Y')
datetime.datetime(2016, 12, 22, 0, 0)

或添加空格以格式化参数:

>>> datetime.strptime(x, ' %d/%m/%Y ')
datetime.datetime(2016, 12, 22, 0, 0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM