我已经下载了包括消息在内的我的facebook数据,并希望对它们进行处理。假设找到对话中最长的消息。
我使用了类似的代码,但是使用了其他键来访问消息的其他属性,并且它可以正常工作,但是不能使用“内容”键。
我的代码如下:
def extract(file):
with open(file, 'r') as f:
full_dict = json.load(f)
part = full_dict["participants"]
msg = full_dict["messages"]
return [part, msg]
conv = extract(sys.argv[1])
def get_mess(conv):
text= []
for t in conv[1]:
text.append(t["content"])
return text
这是消息的格式:
{
"sender_name": "Stasiek Janik",
"timestamp_ms": 1555445045809,
"content": "XD",
"type": "Generic"
}
我希望获得消息内容的列表,就像处理类型或时间戳一样。但是,我得到的只是以下错误消息:
File "fantasy.py", line 29, in get_mess
text.append(t["content"])
KeyError: 'content'
答案 0 :(得分:0)
好的,所以我发现了问题所在。事实证明,某些消息没有“内容”字段。例如,只有有人离开聊天室的通知。所以我要做的是更改了这部分代码:
def get_mess(conv):
text= []
for t in conv[1]:
if "content" in t:
text.append(t["content"])
return text
现在可以正常工作了。