У меня есть таблица с заголовками отчетов 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.Какой самый эффективный метод достижения результата я ищу?Я просмотрел регулярные выражения, но не уверен, как извлечь только те части диапазона дат, которые мне нужны.