【发布时间】:2020-08-08 13:58:21
【问题描述】:
我在一个文本文件中有以下非结构化数据,这是来自 Discord 的消息日志数据。
[06-Nov-19 03:36 PM] Dyno#0000
{Embed}
Server
**Message deleted in #reddit-feed**
Author: ? | Message ID: 171111183099756545
[12-Nov-19 01:35 PM] Dyno#0000
{Embed}
Member Left
@Unknown User
ID: 171111183099756545
[16-Nov-19 11:25 PM] Dyno#0000
{Embed}
Member Joined
@User
ID: 171111183099756545
基本上我的目标是解析数据并提取所有加入和留言,然后绘制服务器中成员的增长。有些消息是不相关的,每个消息块的行长也不同。
Date Member-change
4/24/2020 2
4/25/2020 -1
4/26/2020 3
我尝试在循环中解析数据,但由于数据是非结构化的并且具有不同长度的行,我对如何设置它感到困惑。有没有办法忽略所有没有“成员加入”和“成员离开”的块?
【问题讨论】:
-
这似乎是您需要构建的东西,而不是使用内置方法。像
with open(file) as f: data=f.readlines(); for line in f: if line.startswith('{')...这样的东西。看看你到目前为止所做的尝试会很有帮助 -
您不能真正“忽略”文本,您必须在其中搜索您要查找的字符串。您能否发布一小部分用于解析和收集数据的代码示例。
标签: python pandas dataframe jupyter-notebook data-science