我有一个从OCR程序中提取的文本。到目前为止,我设法获得了除日期以外我想要的所有元素。在某些情况下,ASDICA>31.04.2019END($>
上我的约会是这样的,而在另一些情况下,我的约会将带有空格(易于提取)。我的问题:
是否有没有嵌套for
循环的快速功能来解析文本并提取日期?
我的第一个业余想法是用常见的日期分隔符构建一个列表,解析文本,保存在文本中找到的元素的位置,然后搜索其亲戚以建立一个日期。
这花费了很多时间,并且证明很麻烦,因为由于OCR的行为,我遇到了许多转义字符。
我的理想输出是31/04/2019
,但是只要我得到一个包含文本日期的列表,我就可以处理符号替换。
答案 0 :(得分:2)
以SDICA>31.04.2019END($>
开头不是有效日期:) 4月一个月只有30天。
但是要回答您的问题,您可以使用dateutil模块,尤其是parser.parse函数来解决当前的问题
from dateutil import parser
#Parse date from the string, fuzzy parameter can find hidden datetime string around a wall of text
print(parser.parse('ASDICA>31.01.2019END($>', fuzzy=True))
输出将为2019-01-31 00:00:00