从文本文件中提取推文(python)

时间:2013-05-18 23:39:24

标签: python json twitter tweets

抱歉,我只是想将每条推文中的'id_str'存储到名为ids []的新列表中。 但得到以下错误:

  

追踪(最近一次通话):     文件“extract_tweet.py”,第17行,in       打印推文['id_str']   KeyError:'id_str'

我的代码是:

import json
import sys
if __name__ == '__main__':
tweets = []
for line in open (sys.argv[1]):
try:
  tweets.append(json.loads(line))
except:
  pass
ids = []
for tweet in tweets:
ids.append(tweet['id_str'])

2 个答案:

答案 0 :(得分:2)

来自推文的json数据有时会缺少字段。试试这样的事情,

ids = []
for tweet in tweets:
    if 'id_str' in tweet:
        ids.append(tweet['id_str'])

或等效,

ids = [tweet['id_str'] for tweet in tweets if 'id_str' in tweet]

答案 1 :(得分:0)

import json

tweets = []
tweets.append(
        json.loads('{"a": 1}')
)
tweet = tweets[0]
print(tweet)
print( tweet['id_str'] )

--output:--
{'a': 1}

Traceback (most recent call last):
  File "1.py", line 9, in <module>
    print( tweet['id_str'] )
KeyError: 'id_str'

my_dict = {u"id_str": 1}
print my_dict["id_str"]

--output:--
1