Извлечение только дат из текстового файла и игнорирование больших чисел - PullRequest
0 голосов
/ 25 мая 2018

У меня есть текстовый файл, и я хочу извлечь из него все даты, но каким-то образом мой код также извлекает другие значения, такие как

Процедура №: 10075453.

Ниже приведен небольшой пример этого файла:

Patient Name:  Mills, John      Procedure #:  10075453
October 7, 2017
Med Rec #:  747901                  Visit ID:  110408731
Patient Location:  OUTPATIENT               Patient Type:  OUTPATIENT
DOB:07/09/1943      Gender:  F  Age: 73Y    Phone:  (321)8344-0456

Могу ли я получить представление о том, как я могу решить эту проблему?

doc = []
with open('Clean.txt', encoding="utf8") as file:
   for line in file:
      doc.append(line)

df = pd.Series(doc)

def date_extract():

    one = df.str.extract(r'((?:\d{,2}\s)?(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*(?:-|\.|\s|,)\s?\d{,2}[a-z]*(?:-|,|\s)?\s?\d{2,4})')

    two = df.str.extract(r'((?:\d{1,2})(?:(?:\/|-)\d{1,2})(?:(?:\/|-)\d{2,4}))')

    three = df.str.extract(r'((?:\d{1,2}(?:-|\/))?\d{4})')

    dates = pd.to_datetime(one.fillna(two).fillna(three).replace('Decemeber','December',regex=True).replace('Janaury','January',regex=True))
    return pd.Series(dates.sort_values())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...