Я хочу извлечь всю информацию, относящуюся к дате, в тексте. У меня есть текст в серии Sdoc
, где в каждой строке есть только одна дата для извлечения. Пока что я использую:
rawdate=pd.Series([])
i=0
while i<len(Sdoc):
rawdate[i]=re.findall(r'(\d{1,2}/\d{1,2}/\d{2,4})|(\d{0,2} \b[Jan]\w+ \d{2,4}),Sdoc[i])
i+=1
Просматривая свой текст, я идентифицирую все виды форматов даты и заполняю свой re.findall множеством других форматов (как и все остальные). месяц, основанный на этом формате (\d{0,2} \b[Jan]\w+ \d{2,4})
Я поймал их много, но не могу понять, как бороться с
.Jan 2007
Я пытался. [ Ян],. \ W +, [. Ян] ... ни одна из них не работает.
Вторая проблема, после этого шага у меня есть Серия с большим количеством пробелов:
print(rawdate[1])
дает: [('', '', '', '', '', '', '', '', '', '', '', '', '', '', '2007')]
Мне удалось немного почистить его с помощью: r2 = rawdate.apply (pd.Series) .stack (). Reset_index (drop = True) clean_r2 = [tuple (filter (None, tp) )) для tp в r2], который дает мне [...., ('2007',), .....], но я полагаю, что должен существовать лучший способ очистить его?
спасибо !