【发布时间】:2021-01-11 02:46:24
【问题描述】:
我正在尝试使用自己的文本消息在 Python 3.9 中创建聊天机器人,但无法正确格式化我的数据。
我有一个如下所示的短信表:
| row_id | Type | Date | Text |
|---|---|---|---|
| 1 | Incoming | 2020-08-10 08:09:18 | Hi |
| 2 | Outgoing | 2020-08-10 08:11:04 | Hello |
| 3 | Incoming | 2020-08-10 08:11:12 | For tomorrow |
| 4 | Incoming | 2020-08-10 08:11:20 | Are we still on for dinner? |
| 5 | Outgoing | 2020-08-10 08:11:31 | Let me check. |
| 6 | Outgoing | 2020-08-10 08:11:43 | Yes |
| 7 | Incoming | 2020-08-10 08:11:45 | Great! |
我需要做的是将最后一个和下一个传出之间的所有传入文本,以及最后一个和下一个传入之间的所有传出文本合并到一个列中。
例如,上表应如下所示:
| Incoming | Outgoing |
|---|---|
| Hi | Hello |
| For Tomorrow Are we still on for dinner? | Let me check. Yes |
| Great |
对话有超过 17,000 条记录。 我正在使用 sqlite3 在 Python 3.9 中运行它。
我将如何完成这项任务?
【问题讨论】:
-
提示:看看解析函数->lead()
-
当有多个传出消息与一个传入消息相关时会发生什么,反之亦然?请附上一张表格,显示您希望看到的内容。
-
@ggordon 给出的样本数据实际上已经有这些边缘情况。