У меня есть датафрейм с одним текстовым столбцом. Один из примеров выглядит следующим образом -
line = 'user : hi\nassistant : hi , good evening. how can i help you?\n \n \nuser : order status\nassistant : please enter your case id here. \n \nuser : 0023201. \nassistant : order number: 0023201 \norder amount: 22.5 USD \nplace: oregon \nuser : order status\nassistant : please enter your case id here. \n \nuser : 0023210. \nassistant : order number: 0023210 \norder amount: 18.5 USD \nplace: iowa \n \n'
Я хочу извлечь информацию о номере заказа, сумме заказа и разместить его в трех отдельных столбцах. Как то так -
df = pd.DataFrame([['some info','some info','text_column',['0023201','0023210'],['22.5','18.5'],['USD','USD'],['oregon','iowa']]], columns=['col1','col2','col3','col4','col5','col6','col7'])
Я пытался использовать модуль 're', но ничего не смог сделать.
str1 = 'number:'
str2 = 'amount:'
t2 = []
for i in data['text_column']:
text = i
reg = "(?<=%s).*?(?=%s)" % (str1,str2)
r = re.compile(reg,re.DOTALL)
result = r.findall(r,text)
t2.append(result)
Пожалуйста, помогите, поскольку я новичок в Python.