Попытка извлечь различные диапазоны дат в python из строк как объекты datetime - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть таблица с заголовками отчетов c9ntainign диапазонов дат, которые я импортировал в python следующим образом:

df = pd.DataFrame([["abc December 5-19, 2019"], ["abc January 30-February 5, 2019"], ["abc 3/6-3/12 2019"], ["abc Jan 16 - 29, 2018"], ["abc Dec 10-14,2018"], ["abc Dec 3 - 14, 2018"], ["abc 01/07/2019-01/18/19"], ["abc January 2019"], ["abc 25-29 Nov"], ["abc Feb. 17-28, 2014"], ["abc 3/17-23/16"], ["abc OCT 2016"]], columns=['a'])
df
Out[160]: 
                                  a
0           abc December 5-19, 2019
1   abc January 30-February 5, 2019
2                 abc 3/6-3/12 2019
3             abc Jan 16 - 29, 2018
4                abc Dec 10-14,2018
5              abc Dec 3 - 14, 2018
6           abc 01/07/2019-01/18/19
7                  abc January 2019
8                     abc 25-29 Nov
9              abc Feb. 17-28, 2014
10                   abc 3/17-23/16
11                     abc OCT 2016

В результате я хотел бы извлечь даты начала для этих отчетов следующим образом:

df = pd.DataFrame([["12/5/19"], ["1/30/19"], ["3/6/19"], ["1/16/18"], ["12/10/18"], ["12/3/18"], ["01/07/2019"], ["1/1/19"], ["11/25/1900"], ["2/17/14"], ["3/17/16"], ["10/1/16"]], columns=['Start Date'])
df
Out[162]: 
    Start Date
0      12/5/19
1      1/30/19
2       3/6/19
3      1/16/18
4     12/10/18
5      12/3/18
6   01/07/2019
7       1/1/19
8   11/25/1900
9      2/17/14
10     3/17/16
11     10/1/16

Обратите внимание, что они будут объектами даты и времени в качестве моего желаемого конечного результата, но даже текст, считанный в этом примере, будет улучшением по сравнению с тем, что я имею сейчас.Обратите внимание, что «3 / 17-23 / 16» отформатировано как m / dd-dd / yy.Какой самый эффективный метод достижения результата я ищу?Я просмотрел регулярные выражения, но не уверен, как извлечь только те части диапазона дат, которые мне нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...