【发布时间】:2019-07-10 14:46:27
【问题描述】:
我有一系列字符串,我试图将其解析为日期。它们的形式是(001 是儒略日)
code_36763.letters_81m_2013_001_0000.dat
只有不构成日期的数字会发生变化,所以在通配符中这将是
code_?????.letters_??m_%Y_%j_%H%M.dat
我首先想到的是datetime.datetime.strptime,但我收到一个错误提示ValueError: time data does not match format,这意味着strptime不理解通配符。然后我的第二个想法是使用dateutil.parser,但是当我这样做时
from dateutil.parser import parse
f='code_36763.letters_81m_2013_001_0000.dat'
parse(f, fuzzy=True)
我得到了错误
TypeError: 'NoneType' object is not iterable
这可能意味着其他数字正在阻碍。
有没有办法在不手动删除其他数字的情况下解决这个问题?我问这个是因为我必须编写的代码应该足够通用,以便其他数字可以位于字符串中的不同位置。
【问题讨论】: