I have a string list:
content
01/09/15, 10:07 - message1
01/09/15, 10:32 - message2
01/09/15, 10:44 - message3
I want a data frame, like:>
Use str.split by \s+-\s+ - \s+ is one or more whitespaces:
df[['date','message']] = df['content'].str.split('\s+-\s+', expand=True)
print (df)
content date message
0 01/09/15, 10:07 - message1 01/09/15, 10:07 message1
1 01/09/15, 10:32 - message2 01/09/15, 10:32 message2
2 01/09/15, 10:44 - message3 01/09/15, 10:44 message3
If need remove content column add DataFrame.pop:
df[['date','message']] = df.pop('content').str.split('\s+-\s+', expand=True)
print (df)
date message
0 01/09/15, 10:07 message1
1 01/09/15, 10:32 message2
2 01/09/15, 10:44 message3