У меня есть куча строк, которые пользователи вводили в различные комментарии, объединенные вместе. Иногда они вводили дату, если были комментарии в течение нескольких дней. Я пытаюсь найти способ разделить каждую дату и соответствующий комментарий. Текстовые комментарии могут выглядеть следующим образом:
raw_text = ['3/30: The dog is red. 4/01: The dog is blue', 'there is a green door', '3-25:Foobar baz']
Я хотел бы преобразовать этот текст в:
df = pd.DataFrame([[0,'3/30','The dog is red.'],[0,'4/01','The dog is blue'],[1,np.nan,'there is a green door'],[2,'3-25','Foobar baz']],columns = 'row_id','date','text')
print(df)
row_id date text
0 0 3/30 The dog is red.
1 0 4/01 The dog is blue
2 1 NaN there is a green door
3 2 3-25 Foobar baz
Я думаю, что мне нужно сделать, это найти точки с запятой, а затем вернуться назад на первое число перед этой точкой с запятой, чтобы указать даты (иногда они используют / для разделения, а иногда -).
Буду признателен за любые идеи о том, как подойти к этому с помощью регулярных выражений - это выходит за рамки моих простых знаний по split / findall.
Спасибо!