【发布时间】:2020-02-19 01:54:05
【问题描述】:
在 python 3 中:
这是应监控个人资产的外国资产控制办公室清单
https://www.treasury.gov/ofac/downloads/sdn.csv
他们的很多出生数据(最后一列,逗号分隔)就像
DOB 23 Jun 1959; alt. DOB 23 Jun 1958
或
DOB 1959; alt. DOB 1958
我正在尝试使用以下代码捕获关键字“DOB”和“alt.DOB”之后的所有生日:
if len(x.split(';')) > 0:
if len(re.findall('DOB (.*)', x.split(';')[0])) > 0:
new = re.findall('DOB | alt. DOB (.*)', x.split(';')[0])[0]
print(new)
try:
print(datetime.strptime(new, '%d %b %Y'))
return datetime.strptime(new, '%d %b %Y')
except:
return None
但代码仅在“DOB”之后获取出生日期,但不包括“alt. DOB”之后的出生日期。想知道我该怎么做?谢谢。
【问题讨论】:
标签: regex python-3.x findall