我从 Python 开始,现在卡住了。我必须从 .txt 中的长列表中获取关键的“文本”,例如:{"delete":"status":"id":294512601600258048,"id_str":"294512601600258048","user_id":90681582,"user_id_str":"90681582"}, "timestamp_ms":"1410368494083"}}和{ "created_at": "Wed Sep 10 17:01:33 +0000 2014", "id": 509748524897292288, "id_str": "509748524897292288", "text": "@Brenamae_ I WHALE SLAP YOUR FIN AND TELL YOU ONE LAST TIME: GO AWHALE", "source": "\u003ca href=\"http:\/\/twitter.com\/download\/android\" rel=\"nofollow\"\u003eTwitter for Android\u003c\/a\u003e", "truncated": false, "in_reply_to_status_id": 509748106015948800, "in_reply_to_status_id_str": "509748106015948800", "in_reply_to_user_id": 242563886, "in_reply_to_user_id_str": "242563886", "in_reply_to_screen_name": "Brenamae_", "user": "id": 175160659, "id_str": "175160659", "name": "Butterfly", "screen_name": "VanessaLilyWan", "location": "Canada, Montreal", "url": "http:\/\/instagram.com\/vanessalilywan", "description": "British youtubers. 'Nuff said.", "protected": false, "verified": false, "followers_count": 118, "friends_count": 180, "listed_count": 2, "favourites_count": 319, "statuses_count": 10221, "created_at": "Thu Aug 05 20:03:16 +0000 2010", "utc_offset": -36000, "time_zone": "Hawaii", "geo_enabled": false, "lang": "en", "contributors_enabled": false}所以我有两种键,据我所知是: import jsonwith open('salida_tweets.txt') as f: for line in f: texto=json.loads(line) objetos=texto.get('text') print(objetos)没有任何@Brenamae_ 我拍拍你的鳍并告诉你最后一次:去AWHALE但是在打印中,第一个仍然显示为“无”,我需要干净的文本将其与另一个文件混合。有人能帮我吗?
2 回答
九州编程
TA贡献1785条经验 获得超4个赞
在字典中搜索不存在的键时,该.get方法返回None,因此objetos您可以先检查返回值,而不是总是打印texto.get('text')。
例如
import json
with open('salida_tweets.txt') as f:
for line in f:
texto = json.loads(line)
objetos = texto.get('text')
# implement logic
if objetos:
print(objetos)
这样,如果text密钥不存在,您的代码将不会打印。
互换的青春
TA贡献1797条经验 获得超6个赞
要从字典中完全删除一个键,请使用“pop”方法。
dictionary.pop(key[, default])
如果您不关心要删除的键的值并且不想在删除之前测试它是否确实存在,您可以简单地执行以下操作:
text = dictionary.pop('text', None)
如果键不存在,这将使变量“text”成为 dictionary['text'] 或 None 的值。
但是,您的问题似乎不清楚 - 听起来您不想要对象中名为“文本”的键,而是对象中恰好是文本的键的值?
添加回答
举报
0/150
提交
取消