[问题] 一个特殊的问题 日期转换出错

楼主: yeahhuman (人)   2019-10-17 03:09:43
我使用sax来做xml的parsing,以下为几行关键程式码
#取得xml结果后,把string存到theDate,并写入parsed.txt
elif self.CurrentData == "theDate":
with open ("./parsed.txt",'a',encoding = 'utf-8') as f:
f.write("theDate =" + self.theDate)
f.write('\n')
========================
#前面有写读取parsed.txt,所以这边单纯就是把theDate写成一个list
elif line.startswith('theDate') == True:
if len(line.strip().replace(u'theDate =', u'')) > 0:
theDate_l.append(str(line.strip().replace(u'theDate=', u'')) + "")
else:
theDate_l.append("1960/01/01")
========================
重点来了
theDate = datetime.datetime.strptime(theDate, '%Y-%m-%d')
这段我常常会出现ValueError,错误原因是残缺的日期可能是:
ValueError: time data '98-01-15' does not match format '%Y-%m-%d'
但是它的正确格式其实是'1998-01-15'之类的
有趣的是,出了这样的错误之后,我直接重新跑那个日期的资料,结果是没有失败过,
也就是说一般抓因为某种因素可能会出错,但是我目前完全找不到头绪,我看
parsed.txt里面纪录的资料也都是正常的
作者: outshaker (out)   2019-10-17 07:53:00
输入档案的时候,要检查 theDate 的格式对不对

Links booklink

Contact Us: admin [ a t ] ucptt.com