pandas使用正则表达式拆分列(从字符串中分隔日期)

时间:2017-10-24 09:54:01

标签: python regex pandas date split

我读了一个文本文件并转换成了一个列表。 我有一个包含日期和消息的大字符串列表,我想要将日期与消息分开。

大多数行的格式为:

DD/MM/YY, HH:MM - NAME: message

我使用简单的split s将它们分为日期,名称和消息列。

问题是,有时候当消息很长时,它不会留在消息中,它只是在一条线上。例如:

DD/MM/YY, HH:MM - NAME: message
more text

(不在列表中的同一位置。一个接一个)。

首先,我想移动没有约会的文本,属于最后一个给定日期。

其次,将日期与消息分开

我希望列表中的所有项目都采用DD/MM/YY, HH:MM - NAME: message more text的格式。 我想我在我的武器库中缺少一些正则表达式技能。在这一方面会有所帮助。

编辑: 我目前的分裂:

history = pd.DataFrame([line.split(",", 1) for line in content], columns=['date', 'message'])
history = history.fillna({'message':''})
history[['time','message']] = history['message'].str.split(' - ', n=1, expand=True)
history[['name', 'message']] = history['message'].str.split(' ', n=1, expand=True)

这不是最好的工作,考虑到我合并了时间和日期专栏,但它没有造成任何问题,所以我稍后会补丁。

0 个答案:

没有答案